为啥我这样的数组就会报WA
#include <algorithm>
#include <iostream>
#include <cstring>
using namespace std;
const int N = 3000;
char loc[N][25];
bool swi;
int main(){
for(int i=0;i<N;i++){
for(int j=0;j<25;j++){
cin>>loc[i][j];
if(loc[i][j]=='E'){
swi = true;
break;
}
}
if(swi) break;
}
int a=0,b=0;
for(int i=0;i<N;i++){
for(int j=0;j<25;j++){
if(loc[i][j]=='W'){
a++;
}else if(loc[i][j]=='L'){
b++;
}else if(loc[i][j]=='E'){
cout<<a<<":"<<b<<endl;
swi = true;
break;
}
if((a>=11||b>=11)&&abs(a-b)>=2){
cout<<a<<":"<<b<<endl;
a=0,b=0;
}
}
if(swi) break;
}
cout<<endl;
a=0,b=0;
for(int i=0;i<N;i++){
for(int j=0;j<25;j++){
if(loc[i][j]=='W'){
a++;
}else if(loc[i][j]=='L'){
b++;
}else if(loc[i][j]=='E'){
cout<<a<<":"<<b<<endl;
swi = true;
break;
}
if((a>=21||b>=21)&&abs(a-b)>=2){
cout<<a<<":"<<b<<endl;
a=0,b=0;
}
}
if(swi) break;
}
return 0;
}
但是我改成一维数组的时候就好了
#include <algorithm>
#include <iostream>
#include <cstring>
using namespace std;
const int N = 62500;
char loc[N];
bool swi;
int main(){
for(int i=0;i<N;i++){
cin>>loc[i];
if(loc[i]=='E'){
swi = true;
break;
}
if(swi) break;
}
int a=0,b=0;
for(int i=0;i<N;i++){
if(loc[i]=='W'){
a++;
}else if(loc[i]=='L'){
b++;
}else if(loc[i]=='E'){
cout<<a<<":"<<b<<endl;
break;
}
if((a>=11||b>=11)&&abs(a-b)>=2){
cout<<a<<":"<<b<<endl;
a=0,b=0;
}
}
cout<<endl;
a=0,b=0;
for(int i=0;i<N;i++){
if(loc[i]=='W'){
a++;
}else if(loc[i]=='L'){
b++;
}else if(loc[i]=='E'){
cout<<a<<":"<<b<<endl;
break;
}
if((a>=21||b>=21)&&abs(a-b)>=2){
cout<<a<<":"<<b<<endl;
a=0,b=0;
}
}
return 0;
}
别的地方基本没变化