QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#286664#7970. 三步棋Spouter_27AC ✓2ms3508kbC++143.4kb2023-12-18 10:59:242023-12-18 10:59:24

Judging History

This is the latest submission verdict.

  • [2023-12-18 10:59:24]
  • Judged
  • Verdict: AC
  • Time: 2ms
  • Memory: 3508kb
  • [2023-12-18 10:59:24]
  • Submitted

answer

/********************
  *	author:Spouter_27
  *	place:spst Alego
  * 	with:marmoreal_777
  ******************/
#include<bits/stdc++.h>
using namespace std;
//#define int long long
#define deb(x) cerr<<"Line: "<<__LINE__<<", "<<#x<<"= "<<x<<"; \n"
typedef long long ll;
#define pii pair<ll,ll>
#define mp make_pair
#define fi first
#define se second
const ll N=2e5+10;
inline ll read(){
    ll a=0,x=1;
    char c=getchar();
    while(!isdigit(c)){
        if(c=='-')	x=-x;
        c=getchar();
    }
    while(isdigit(c)){
        a=a*10+c-'0';
        c=getchar();
    }
    return a*x;
}
ll T;
char a[5][5];
ll de[9][9]={
    {0,0,0,1,1,1,-1,1,1},
    {0,0,0,1,1,1,1,2,1},
    {0,0,0,1,1,0,1,1,0},
    {0,0,0,1,0,2,1,2,1},
    {0,0,0,1,0,2,0,3,0},
    {0,0,0,0,0,1,1,0,0},
    {0,0,0,0,0,1,0,2,0},
    {0,0,0,0,0,0,1,0,1},
    {0,0,0,0,0,0,0,0,0},
};
bool check(){
    for(int i=0;i<=8;i++){
        for(int x=0;x<5;x++){
            for(int y=0;y<5;y++){
                int d=0;
                for(int j=0;j<8;j+=2){
                    int xx=x+de[i][j],yy=y+de[i][j+1];
                    if(xx<0||xx>=5||yy<0||yy>=5)	d=-1;
                    else if(a[xx][yy]=='.')	d=-1;
                }
                if(d==0)	return de[i][8];d=0;
                for(int j=0;j<8;j+=2){
                    int xx=x+de[i][j+1],yy=y+de[i][j];
                    if(xx<0||xx>=5||yy<0||yy>=5)	d=-1;
                    else if(a[xx][yy]=='.')	d=-1;
                }
                if(d==0)	return de[i][8];d=0;
                for(int j=0;j<8;j+=2){
                    int xx=x-de[i][j],yy=y-de[i][j+1];
                    if(xx<0||xx>=5||yy<0||yy>=5)	d=-1;
                    else if(a[xx][yy]=='.')	d=-1;
                }
                if(d==0)	return de[i][8];d=0;
                for(int j=0;j<8;j+=2){
                    int xx=x-de[i][j+1],yy=y-de[i][j];
                    if(xx<0||xx>=5||yy<0||yy>=5)	d=-1;
                    else if(a[xx][yy]=='.')	d=-1;
                }
                if(d==0)	return de[i][8];d=0;
                for(int j=0;j<8;j+=2){
                    int xx=x-de[i][j],yy=y+de[i][j+1];
                    if(xx<0||xx>=5||yy<0||yy>=5)	d=-1;
                    else if(a[xx][yy]=='.')	d=-1;
                }
                if(d==0)	return de[i][8];d=0;
                for(int j=0;j<8;j+=2){
                    int xx=x-de[i][j+1],yy=y+de[i][j];
                    if(xx<0||xx>=5||yy<0||yy>=5)	d=-1;
                    else if(a[xx][yy]=='.')	d=-1;
                }
                if(d==0)	return de[i][8];d=0;
                for(int j=0;j<8;j+=2){
                    int xx=x+de[i][j],yy=y-de[i][j+1];
                    if(xx<0||xx>=5||yy<0||yy>=5)	d=-1;
                    else if(a[xx][yy]=='.')	d=-1;
                }
                if(d==0)	return de[i][8];d=0;
                for(int j=0;j<8;j+=2){
                    int xx=x+de[i][j+1],yy=y-de[i][j];
                    if(xx<0||xx>=5||yy<0||yy>=5)	d=-1;
                    else if(a[xx][yy]=='.')	d=-1;
                }
                if(d==0)	return de[i][8];
            }
        }
    }
}
signed main(){
    T=read();
    while(T--){
        for(int i=0;i<5;i++){
            scanf("%s",a[i]);
        }
        if(check()){
            puts("Far");
        }else{
            puts("Away");
        }
    }
    return 0;
}
/*
exSample:

*/

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 2ms
memory: 3508kb

input:

200
.....
..oo.
.....
.....
.....
.....
.....
oo...
o....
.....
.....
.o...
oo...
.....
.....
.....
.....
o....
oo...
.....
.....
...o.
..oo.
.....
.....
.....
....o
.....
.....
.....
.....
.....
.....
.ooo.
.o...
.....
.....
.....
.....
...oo
.o...
.o...
.o...
.....
.....
.....
.....
..oo.
.....
.....

output:

Far
Away
Away
Away
Away
Away
Far
Far
Away
Far
Away
Far
Far
Away
Far
Away
Far
Away
Away
Away
Far
Away
Far
Away
Away
Away
Away
Far
Far
Far
Far
Away
Far
Away
Far
Away
Far
Away
Away
Far
Away
Away
Far
Far
Away
Far
Far
Away
Far
Away
Away
Away
Away
Away
Away
Far
Away
Far
Away
Away
Away
Away
Far
Away
Far
Fa...

result:

ok 200 lines

Test #2:

score: 0
Accepted
time: 1ms
memory: 3504kb

input:

200
...oo
..oo.
.....
.....
.....
.....
..ooo
....o
.....
.....
.....
o....
oo...
.o...
.....
.....
.ooo.
...o.
.....
.....
.....
.oo..
..oo.
.....
.....
.....
...o.
...o.
...o.
...o.
.....
.oo..
..o..
..o..
.....
..o..
..ooo
.....
.....
.....
.....
.oooo
.....
.....
.....
.....
.....
o....
oo...
o....

output:

Far
Far
Far
Far
Far
Away
Far
Far
Away
Far
Far
Far
Far
Away
Far
Far
Far
Far
Far
Far
Far
Far
Far
Far
Far
Away
Far
Far
Far
Far
Away
Far
Away
Far
Far
Far
Away
Far
Far
Far
Far
Far
Far
Far
Far
Away
Far
Far
Far
Far
Far
Far
Away
Far
Away
Far
Far
Far
Away
Away
Far
Far
Far
Far
Away
Far
Far
Far
Far
Far
Far
Far...

result:

ok 200 lines