细心细心再细心
1、int大概到21亿(10^9),long long大概到9223372036854775807(10^16)
2、注意区分行列!!!
#include<iostream>
#include<cstdio>
using namespace std;
int main(){
long long n,h=1;\\题目给的数据范围是1~1e18 所以long long
long long sum = 0;
cin>>n;
while(sum+h*h <= n){
sum = sum + h*h;
h++;
}
cout<<sum;
return 0;
}#include<iostream>
#include<cstdio>
using namespace std;
const int x[]={-2,-2,-2,-1,-1,0,0,0,1,1,2,2,2};
const int y[]={-2,0,2,-1,1,-2,0,2,-1,1,-2,0,2};
int m,n,q;
char g[2005][2005];
int main(){
int xn,yn;
scanf("%d %d %d",&m,&n,&q);
for(int i=0;i<m;i++){//一开始写成了n…………
cin>>g[i];
}
getchar();
while(q--){
scanf("%d %d",&xn,&yn);
--xn;--yn;
int rx,ry;
for(int i=0;i<=12;i++){
rx= xn+x[i];ry=yn+y[i];
if(rx>=0&&rx<m&&ry>=0&&ry<n){//开始写反了
switch(g[rx][ry]){
case 'R':
g[rx][ry] = 'G';
break;
case 'G':
g[rx][ry] = 'B';
break;
case 'B':
g[rx][ry] = 'R';
break;
}
}
}
}
for(int i=0;i<m;i++){
cout<<g[i]<<endl;
}
return 0;
}
319

被折叠的 条评论
为什么被折叠?



