QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#875421 | #7179. Fischer's Chess Guessing Game | HeyJinhwi# | TL | 0ms | 0kb | C++14 | 2.2kb | 2025-01-29 18:42:27 | 2025-01-29 18:42:28 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
char x[960][10];
int tp=0;
char y[10]={'B','B','R','K','R','N','N','Q'};
int a[40320][10];
int b[10],v[10],mp[960][960];
bool valid[960];
void f(int k)
{
if(k==8)
{
for(int i=0;i<k;i++)
{
a[tp][i]=b[i];
}
tp++;
return;
}
for(int i=0;i<8;i++)
{
if(v[i])continue;
b[k]=i;
v[i]=1;
f(k+1);
v[i]=0;
}
}
main()
{
f(0);
tp=0;
for(int i=0;i<40320;i++)
{
if(a[i][0]%2==1)continue;
if(a[i][1]%2==0)continue;
if(a[i][2]>a[i][3]||a[i][3]>a[i][4])continue;
if(a[i][5]>a[i][6])continue;
if(a[i][0]==4&&a[i][1]==3&&a[i][2]==0&&a[i][3]==1)
{
if(a[i][4]==2&&a[i][5]==6&&a[i][6]==7&&a[i][7]==5)
{
//cout<<i<<' '<<tp<<' ';
}
}
for(int j=0;j<8;j++)
{
x[tp][a[i][j]]=y[j];
}
tp++;
}
//cout<<x[542]<<'\n';
for(int i=0;i<960;i++)
{
for(int j=0;j<960;j++)
{
for(int k=0;k<8;k++)
{
if(x[i][k]==x[j][k])
{
mp[i][j]++;
mp[j][i]++;
}
}
}
}
char z[10]={};
while(true)
{
cin>>z;
if(z[0]=='E')break;
int temp;cin>>temp;
for(int i=0;i<960;i++)valid[i]=true;
for(int i=0;i<6;i++)
{
int k=0;
for(int j=0;j<960;j++)
{
if(valid[j])
{
k=j;
cout<<x[j]<<'\n';
fflush(stdout);
break;
}
}
//cout<<mp[542][k]<<'\n';
int c;cin>>c;
if(c==8)break;
for(int j=0;j<960;j++)
{
if(mp[k][j]!=c)
{
valid[j]=false;
}
}
int cnt=0;
for(int j=0;j<960;j++)if(valid[j])cnt++;
//cout<<cnt<<'\n';
}
}
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 0
Time Limit Exceeded
input:
GAME 1 2 2 0 3
output:
BBRKRNNQ BRKBNRQN BNNRQBKR RBBNKQRN