-
题意: 根据给定命令模拟. 注意++cnt应经给cnt 进行了赋值. 在使用之前的应该cnt-1 #include <bits/stdc++.h> using namespace std; int n,m,a,cnt=0,c[155]; string str; int main() { cin>>n>>m; while(m--) { cin>>str; int len=str.size(),r,time; if(str=="undo") { cin>>a; cnt=cnt-a; } else if(str[0]=='-') { r=0; time=1; for(int j=len-1; j>=1; j--) { r+=time*(str[j]-'0'); time=time*10; } c[++cnt]=c[cnt-1]-r; while(c[cnt]<0) c[cnt]+=n; c[cnt]%=n; } else { r=0; time=1; for(int j=len-1; j>=0; j--) { r+=time*(str[j]-'0'); time=time*10; } c[++cnt]=c[cnt-1]+r; c[cnt]%=n; } } cout<<c[cnt]<<endl; return 0; }
Problem D Game of Throwns-模拟-cycle
最新推荐文章于 2020-02-07 20:27:18 发布