首页 > 代码库 > 6077 模拟

6077 模拟

观察找到规律 按某个位置是空心或者实心来筛选

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=2e3+20;
char s[N][N];
// 
int check(int l,int r)
{
    if(s[1][l+1]==.)
    {
        if(s[4][l+1]==X) return 4;
        return 1;
    }
    if(s[2][r]==.)
    {
        if(s[5][l]==X)    return 6;
        return 5;
    }
    if(s[4][l+1]==.)
    {
        if(s[7][l+1]==X)    return 0;
        return 7;
    }
    if(s[2][l]==.)
    {
        if(s[6][r]==X)    return 3;
        return 2;
    }
    if(s[6][l]==.)    return 9;
    return 8;
}
int main()
{
    int T;
    cin>>T;
    while(T--)
    {
        for(int i=1;i<=7;i++)
            scanf("%s",s[i]);
        int a=check(0,3);
        int b=check(5,8);
        int c=check(12,15);
        int d=check(17,20);
        printf("%d%d:%d%d\n",a,b,c,d);
    }

    return 0;
}

 

6077 模拟