我两次提交。
第一次代码:
#include<bits/stdc++.h>
#define int long long
#define rep(i,x,y) for(int i=x;i<=y;++i)
using namespace std;
int T;
void Main(){
char n[105];
char a,b,c;
gets(n);
int s=strlen(n)-1;
cin>>a;
if(a=='R'){
cin>>b>>c;
rep(i,0,s)
if(n[i]==b)cout<<c;
else cout<<n[i];
cout<<endl;
return;
}
if(a=='I'){
cin>>b>>c;
int id=-114514;
rep(i,0,s)
if(n[i]==b)id=i;
if(id==-114514){
cout<<"error"<<endl;
return;
}
rep(i,0,s)
if(i==id)cout<<c<<n[i];
else cout<<n[i];
cout<<endl;
}
if(a=='D'){
cin>>b;
int id=-114514;
rep(i,0,s)if(n[i]==b){id=i;break;}
if(id==-114514){
cout<<"error"<<endl;
return;
}
rep(i,0,s)
if(i!=id)cout<<n[i];
cout<<endl;
}
}
void Enchanted(){
srand(time(0));
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
freopen("edit.in","r",stdin);
freopen("edit.out","w",stdout);
cin>>T;
while(T--)Main();
exit(0);
}
signed main(){Enchanted();}
第二次:
#include<bits/stdc++.h>
#define int long long
#define rep(i,x,y) for(int i=x;i<=y;++i)
using namespace std;
int T;
void Main(){
char n[105];
char a,b,c;
fgets(n,sizeof(n),stdin);
int s=strlen(n)-1;
cin>>a;
if(a=='R'){
cin>>b>>c;
rep(i,0,s)
if(n[i]==b)cout<<c;
else cout<<n[i];
cout<<endl;
return;
}
if(a=='I'){
cin>>b>>c;
int id=-114514;
rep(i,0,s)
if(n[i]==b)id=i;
if(id==-114514){
cout<<"error"<<endl;
return;
}
rep(i,0,s)
if(i==id)cout<<c<<n[i];
else cout<<n[i];
cout<<endl;
}
if(a=='D'){
cin>>b;
int id=-114514;
rep(i,0,s)if(n[i]==b){id=i;break;}
if(id==-114514){
cout<<"error"<<endl;
return;
}
rep(i,0,s)
if(i!=id)cout<<n[i];
cout<<endl;
}
}
void Enchanted(){
srand(time(0));
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
freopen("edit.in","r",stdin);
freopen("edit.out","w",stdout);
cin>>T;
while(T--)Main();
exit(0);
}
signed main(){Enchanted();}
但无论我如何改,CCR 总是显示 选手输出为空,可是我 freopen 也加了。请问这是什么回事。