T1 王老师的新水杯

个人认为题目并不难,只要把 两个水量相减后×天数的绝对值输出就行,但不开long long见祖宗

代码:

#include<bits/stdc++.h>

using namespace std;
long long n,x,y;
int main(){
	cin >> n>>x>>y;
	long long u=abs(n*(x-y));
	cout << u;
	return 0;
}

T2 王老师骑行健身

这道题就是每次输入后用截至当天的总里程做一个判断就行了

计数变量开long long(嘟囔)

代码:

#include<bits/stdc++.h>

using namespace std;
int n;
long long num,k;
bool flag=0;
int main(){
	cin >> n;
	for(int i=1;i<=n;i++){
		int r;
		cin >> r;
		num+=r;
		if(num>=100 & flag==0){
			k=i;
			flag=1;
		}
	}
	cout << k;
	return 0;
}

T3 数数放了几天假

直接判断就行了

代码:

#include<bits/stdc++.h>

using namespace std;
int n;
long double num;
int main(){
	cin >> n;
	string x;
	cin >> x;
	for(int i=0;i<n;i++){
		if(x[i]=='o') num++;
		if(x[i]=='~') num+=0.5;
	}
	cout << num;
	return 0;
}

T4 再整理一次水杯

和上上次的比赛一样,用当前最小值判断,如果大于最小值,就将计数变量加上当前杯子的水量,否则(小于等于最小值)就把前边的所有水杯都倒成和现在这个杯子一样,再更换最小值就行了

注意:最小值的初始值要为INT_MAX

代码:

#include<bits/stdc++.h>

using namespace std;
int n,a,b=INT_MAX;
int main(){
	cin >> n;
	for(int i=0;i<n;i++){
		int x;
		cin >> x;
		if(x<b & i!=0) a+=i*(b-x);
		else if(i==0) goto loop;
		else a+=x-b;
		loop : b=min(b,x);
	}
	cout << a;
}

1 comments

  • @ 2025-3-26 16:50:35

    @

    不建议用 goto 语句

    • 1