1 条题解

  • 0
    @ 2024-12-24 9:14:33

    C :

    #include <stdio.h>
    int main()
    {
      int i,n,k;
      char a[3][4];
      while((scanf("%s",a[0]))!=EOF)
     {
         scanf("%s",a[1]);
         scanf("%s",a[2]);
         k=0;
         if(a[0][0]==a[1][1]&&a[1][1]==a[2][2]&&a[1][1]!='.')
         {
           printf("%c\n",a[1][1]);
           continue;
         }
          if(a[0][2]==a[1][1]&&a[1][1]==a[2][0]&&a[1][1]!='.')
         {
           printf("%c\n",a[1][1]);
           continue;
         }
        for(i=0;i<3;i++)
        {
           if(a[0][i]==a[1][i]&&a[1][i]==a[2][i]&&a[1][i]!='.')
           {
           printf("%c\n",a[1][i]);
           k++;
           break;
           }
          if(a[i][0]==a[i][1]&&a[i][1]==a[i][2]&&a[i][1]!='.')
           {
           printf("%c\n",a[i][1]);
           k++;
           break;
           }
        }
        if(k==0)
      printf("D\n");
     }
    }
    

    C++ :

    #include <cstdio>
    #include <iostream>
    #include <algorithm>
    #include <vector>
    #include <cstring>
    #include <set>
    #include <map>
    using namespace std;
    string s[3];
    int main(){
        while(cin>>s[0]>>s[1]>>s[2]){
            char win='D';
            if(s[0][0]==s[1][1] && s[1][1]==s[2][2]){
                win=s[0][0];
            }
            if(s[0][2]==s[1][1] && s[1][1]==s[2][0]){
                win=s[1][1];
            }
            for(int i=0;i<3;i++){
                if(s[i][0]==s[i][1] && s[i][1]==s[i][2]) win=s[i][0];
                if(s[0][i]==s[1][i] && s[1][i]==s[2][i]) win=s[0][i];
            }
            if(win=='.') win='D';
            printf("%c\n",win);
        }
        return 0;
    }
    
    
    • 1

    信息

    ID
    615
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者