记录编号 | 200305 | 评测结果 | AAAAAAAAAAAAAAAAAAAWAAAAAA | ||
---|---|---|---|---|---|
题目名称 | 复制&粘贴 | 最终得分 | 96 | ||
用户昵称 | 是否通过 | 未通过 | |||
代码语言 | C++ | 运行时间 | 3.683 s | ||
提交时间 | 2015-10-28 17:16:14 | 内存使用 | 3.42 MiB | ||
#include<cstdio> #include<cstring> #include<string> #include<iostream> using namespace std; const int SIZEM=200100; int N,M,K; char str[SIZEM]; int A[SIZEM],B[SIZEM],C[SIZEM]; int f[SIZEM]={0}; void read() { scanf("%d%d",&K,&M); scanf("%s",str); //printf("%s",str); scanf("%d",&N); for(int i=1;i<=N;i++) scanf("%d%d%d",&A[i],&B[i],&C[i]); } void work() { for(int i=1;i<=K;i++) f[i]=i; //for(int j=1;j<=K;j++) cout<<f[j]<<endl; for(int i=N;i>=1;i--) { for(int j=1;j<=K;j++) { if(C[i]<f[j]&&f[j]<=C[i]+B[i]-A[i]) f[j]+=A[i]-C[i]; else if(f[j]>C[i]+B[i]-A[i]) f[j]-=B[i]-A[i]; } } for(int i=1;i<=K;i++) cout<<str[f[i]-1]; cout<<endl; } int main() { freopen("copypaste.in","r",stdin); freopen("copypaste.out","w",stdout); read(); work(); return 0; }