RT,只过了三个点,下载了第四个点的数据在IDE上的结果与提示也不符。
输入:
9 3 9
9 9 9
9 9 9
输出:
1 1 3 3 4 4 4 5 5 5 6 6 6 7 8 9
提示:
Wrong Answer. wrong answer On line 1 column 3, read 1, expected 3.
代码:
#include<cstdio>
#include<iostream>
#include<cstring>
#include<string>
using namespace std;
int a[11];
int p[11];
int main(){
for(int i=1;i<=9;i++)
{
scanf("%d",&a[i]);
a[i]/=3;//3,6,9,12 -> 1,2,3,4
}
for(p[1]=0;p[1]<4;p[1]++)
for(p[2]=0;p[2]<4;p[2]++)
for(p[3]=0;p[3]<4;p[3]++)
for(p[4]=0;p[4]<4;p[4]++)
for(p[5]=0;p[5]<4;p[5]++)
for(p[6]=0;p[6]<4;p[6]++)
for(p[7]=0;p[7]<4;p[7]++)
for(p[8]=0;p[8]<4;p[8]++)
for(p[9]=0;p[9]<4;p[9]++)
{
if((p[1]+p[2]+p[4] )%4==(4-a[1]))
if((p[1]+p[2]+p[3]+p[5] )%4==(4-a[2]))
if((p[3]+p[2]+p[6] )%4==(4-a[3]))
if((p[1]+p[5]+p[4]+p[7] )%4==(4-a[4]))
if((p[1]+p[3]+p[5]+p[7]+p[9])%4==(4-a[5]))
if((p[3]+p[5]+p[6]+p[9] )%4==(4-a[6]))
if((p[7]+p[8]+p[4] )%4==(4-a[7]))
if((p[5]+p[8]+p[9] )%4==(4-a[8]))
if((p[6]+p[8]+p[9] )%4==(4-a[9]))
{
for(int i=1;i<=9;i++)
{
if(p[i]>0)
for(int j=1;j<=p[i];j++)
printf("%d ",i);
}
return 0;
}
}
return 0;
}