昨天第一次开大小号打cf,发现原来小号提交之后大号在此提交同样的代码会被skipped掉,然后之后提交的代码都不记分,昨天a,b,c都是水题
A
题意:问一个物品最多能被分成多少份,分成的连续两份不能相同
分析:直接1,2这样份,所以除以3乘2,在对3取模
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <string> 5 #include <vector> 6 #include <algorithm> 7 #include <set> 8 #include <map> 9 #include <bitset> 10 #include <cmath> 11 #include <queue> 12 #include <stack> 13 using namespace std; 14 int n; 15 int main() 16 { 17 while(cin>>n) 18 { 19 int h=n/3; 20 long long sum=h*2; 21 if(n%3) 22 cout<<sum+1<<endl; 23 else 24 cout<<sum<<endl; 25 } 26 return 0; 27 }
B
题意:在一定范围内跳,判断最后是否会跳出范围
分析:直接模拟
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <string> 5 #include <vector> 6 #include <algorithm> 7 #include <set> 8 #include <map> 9 #include <bitset> 10 #include <cmath> 11 #include <queue> 12 #include <stack> 13 using namespace std; 14 const int maxn=100002; 15 const int maxm=10000000; 16 typedef struct p 17 { 18 char c; 19 int num; 20 }p; 21 p s[maxn]; 22 int n; 23 int main() 24 { 25 while(cin>>n) 26 { 27 for(int i=1;i<=n;i++) 28 cin>>s[i].c; 29 for(int i=1;i<=n;i++) 30 cin>>s[i].num; 31 int cnt=0; 32 int pos=1; 33 while(cnt<=maxm){ 34 if(s[pos].c=='>'){ 35 pos+=s[pos].num; 36 if(pos>n) break; 37 cnt++; 38 }else if(s[pos].c=='<'){ 39 pos-=s[pos].num; 40 if(pos<1) break; 41 cnt++; 42 } 43 } 44 if(cnt<maxm) cout<<"FINITE"<<endl; 45 else cout<<"INFINITE"<<endl; 46 } 47 return 0; 48 }
C
题意:给定一些操作,1表示指定行循环左移,2表示指定列循环上移,3表示对指定元素赋值
分析:直接模拟
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <string> 5 #include <vector> 6 #include <algorithm> 7 #include <set> 8 #include <map> 9 #include <bitset> 10 #include <cmath> 11 #include <queue> 12 #include <stack> 13 using namespace std; 14 const int maxn=102; 15 const int maxm=10010; 16 int a[maxn][maxn]; 17 int x[maxm],y[maxm],r[maxm],c[maxm],t[maxm]; 18 int n,m,q; 19 int main() 20 { 21 while(cin>>n>>m>>q) 22 { 23 memset(a,0,sizeof(a)); 24 for(int i=0;i<q;i++) 25 { 26 scanf("%d",&t[i]); 27 if(t[i]==1) 28 { 29 scanf("%d",&y[i]); 30 }else if(t[i]==2){ 31 scanf("%d",&y[i]); 32 }else{ 33 scanf("%d%d%d",&r[i],&c[i],&x[i]); 34 } 35 } 36 for(int i=q-1;i>=0;i--) 37 { 38 int k; 39 if(t[i]==3){ 40 a[r[i]][c[i]]=x[i]; 41 }else if(t[i]==2){ 42 k=a[n][y[i]]; 43 for(int j=n;j>1;j--) 44 a[j][y[i]]=a[j-1][y[i]]; 45 a[1][y[i]]=k; 46 }else{ 47 k=a[y[i]][m]; 48 for(int j=m;j>1;j--) 49 a[y[i]][j]=a[y[i]][j-1]; 50 a[y[i]][1]=k; 51 52 } 53 } 54 for(int i=1;i<=n;i++) 55 { 56 for(int j=1;j<m;j++) 57 printf("%d ",a[i][j]); 58 printf("%d ",a[i][m]); 59 } 60 } 61 62 return 0; 63 }