@[13858077854meng](/space/show?uid=116304)
连等号好像是不能用的,中间加个&&试试吧
by 老彩笔 @ 2019-07-02 21:47:33
@[hdyzgsj](/space/show?uid=168324)
还是不输出
但谢谢了
```
#include <bits/stdc++.h>
using namespace std;
int main(){
char a[10];
int map[3][3];
memset(map,-1,sizeof(map));
scanf("%s",&a);
for(int i=0;i<strlen(a);i++){
int x=a[i]-'0'-1;
map[x/3][x]=i%2; //0:xiaoa 1:uim
}
for(int i=0;i<3;i++){
if((map[i][0]==map[i][1])&&(map[i][1]==map[i][2])){
if(map[i][0]==1){
printf("uim wins.");
}else if(!map[i][0]){
printf("xiaoa wins.");
}
return 0;
}
if((map[0][i]==map[1][i])&&(map[1][i]==map[2][i])){
if(map[0][i]==1){
printf("uim wins.");
}else if(!map[i][0]){
printf("xiaoa wins.");
}
return 0;
}
}
if((map[0][0]==map[1][1])&&(map[1][1]==map[2][2])){
if(map[0][0]==1){
printf("uim wins.");
}else if(!map[0][0]){
printf("xiaoa wins.");
}
return 0;
}
if((map[0][2]==map[1][1])&&(map[1][1]==map[2][0])){
if(map[0][2]==1){
printf("uim wins.");
}else if(!map[0][0]){
printf("xiaoa wins.");
}
return 0;
}
printf("drew.");
return 0;
}
```
by 13858077854meng @ 2019-07-03 19:07:42
```cpp
for(int i=0;i<strlen(a);i++){
int x=a[i]-'0'-1;
map[x/3][x]=i%2; //0:xiaoa 1:uim
}
```
这个循环他死了=。=
然后把所有的if(map[][]==1)改成if(map[][])他就输出了~~但是答案不对~~
by 老彩笔 @ 2019-07-03 19:27:09
@[13858077854meng](/space/show?uid=116304)
by 老彩笔 @ 2019-07-03 19:28:29
@[hdyzgsj](/space/show?uid=168324)
如果改成if(map[][])
会有问题吧
因为值为-1是判断也为真
by 13858077854meng @ 2019-07-03 19:35:35
当我没说
by 13858077854meng @ 2019-07-03 19:36:06
@[hdyzgsj](/space/show?uid=168324)
如果将
```
map[x/3][x]=i%2;
```
改为
```
map[x/3][x%3]=i%2;
```
如何?
却还是不输出
by 13858077854meng @ 2019-07-03 19:41:31
@[13858077854meng](/space/show?uid=116304)
改成
```cpp
int qwq=i%2;//改成临时变量他就不死了,我也不知道为啥
mep[x/3][x]=qwq;
```
by 老彩笔 @ 2019-07-03 19:55:07
~~map~~
by 13858077854meng @ 2019-07-04 15:57:45
@[hdyzgsj](/space/show?uid=168324)
by 13858077854meng @ 2019-07-04 15:58:01