- 闫晟淏 的博客
2025年2月4日 思维训练 day1
- @ 2025-2-4 18:07:52
错题:
4,5,6
错因:
4.思路不对。
5.未考虑初始情况。
6.未加括号。
正确思路:
4.找规律进行判定。
5.从第一个开始循环到最后一个。
6.着重注意加括号,分段计算总数。
参考答案:
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b,c;
int t;
cin>>t;
for(int e=0;e<t;e++){
cin>>a>>b>>c;
if((a+b+c)%9!=0){
cout<<"NO"<<endl;
}else if(min(a,min(b,c))>(a+b+c)/9){
cout<<"YES"<<endl;
}else{
cout<<"NO"<<endl;
}
}
return 0;
}
以上为第四题参考答案
#include<bits/stdc++.h>
using namespace std;
int a[1002];
int main(){
int n,k;
cin>>n>>k;
k--;
for(int i=0;i<n;i++){
cin>>a[i];
}
if(a[k]==1) cout<<k+1;
else {while(a[k]!=1) k=(k+1)%n;cout<<k+1;}
return 0;
}
以上为第五题参考答案
#include<bits/stdc++.h>
using namespace std;
int a[102][2],p[3],t[2];
int main(){
int n,k,sum=0;
cin>>n>>p[0]>>p[1]>>p[2]>>t[0]>>t[1];
for(int i=0;i<n;i++){
cin>>a[i][0]>>a[i][1];
sum+=(a[i][1]-a[i][0])*p[0];
}
for(int i=0;i<n-1;i++){
int o=a[i+1][0]-a[i][1];
if(o>t[0]&&o<=t[1]+t[0]) sum=sum+t[0]*p[0]+(o-t[0])*p[1];
else if(o>t[1]+t[0]) sum=sum+t[0]*p[0]+t[1]*p[1]+(o-t[1]-t[0])*p[2];
else sum+=(o)*p[0];
}
cout<<sum<<endl;
return 0;
}
以上为第六题参考答案
THE END