poj The Clocks 1166
/*
題意:給一個3*3的圖,每個數字都在0-3的範圍內,0代表鐘錶12點,1代表3點,2,3,分別代表6點和9點有九種方式
移動,每種移動特定的幾個,每次移動都順勢針移動90度
*/
#include<stdio.h>
int main()
{
int a[15],b[15],c[15],i;
for(i=1; i<=9; i++)
scanf("%d",&a[i]);
//枚舉每種移動多少次
for(b[1]=0; b[1]<=3; b[1]++)
for(b[2]=0; b[2]<=3; b[2]++)
for(b[3]=0; b[3]<=3; b[3]++)
for(b[4]=0; b[4]<=3; b[4]++)
for(b[5]=0; b[5]<=3; b[5]++)
for(b[6]=0; b[6]<=3; b[6]++)
for(b[7]=0; b[7]<=3; b[7]++)
for(b[8]=0; b[8]<=3; b[8]++)
for(b[9]=0; b[9]<=3; b[9]++)
{
c[1]=(a[1]+b[1]+b[2]+b[4])%4;//鐘錶1的最後時間爲原始時間a[1],加上第一種移動的次數,第二種移動的次數加上第四種移動的次數後對4取餘
c[2]=(a[2]+b[1]+b[2]+b[3]+b[5])%4;
c[3]=(a[3]+b[2]+b[3]+b[6])%4;
c[4]=(a[4]+b[1]+b[4]+b[5]+b[7])%4;
c[5]=(a[5]+b[1]+b[3]+b[5]+b[7]+b[9])%4;
c[6]=(a[6]+b[3]+b[5]+b[6]+b[9])%4;
c[7]=(a[7]+b[4]+b[7]+b[8])%4;
c[8]=(a[8]+b[5]+b[7]+b[8]+b[9])%4;
c[9]=(a[9]+b[6]+b[8]+b[9])%4;
int sum=-1;
for(int i=1; i<=9; i++)
sum+=c[i];
if(sum+1==0)
{
for(int i=1;i<=9;i++)
{
for(int j=1;j<=b[i];j++)
printf("%d ",i);
}
return 0;
}
}
}
題意:給一個3*3的圖,每個數字都在0-3的範圍內,0代表鐘錶12點,1代表3點,2,3,分別代表6點和9點有九種方式
移動,每種移動特定的幾個,每次移動都順勢針移動90度
*/
#include<stdio.h>
int main()
{
int a[15],b[15],c[15],i;
for(i=1; i<=9; i++)
scanf("%d",&a[i]);
//枚舉每種移動多少次
for(b[1]=0; b[1]<=3; b[1]++)
for(b[2]=0; b[2]<=3; b[2]++)
for(b[3]=0; b[3]<=3; b[3]++)
for(b[4]=0; b[4]<=3; b[4]++)
for(b[5]=0; b[5]<=3; b[5]++)
for(b[6]=0; b[6]<=3; b[6]++)
for(b[7]=0; b[7]<=3; b[7]++)
for(b[8]=0; b[8]<=3; b[8]++)
for(b[9]=0; b[9]<=3; b[9]++)
{
c[1]=(a[1]+b[1]+b[2]+b[4])%4;//鐘錶1的最後時間爲原始時間a[1],加上第一種移動的次數,第二種移動的次數加上第四種移動的次數後對4取餘
c[2]=(a[2]+b[1]+b[2]+b[3]+b[5])%4;
c[3]=(a[3]+b[2]+b[3]+b[6])%4;
c[4]=(a[4]+b[1]+b[4]+b[5]+b[7])%4;
c[5]=(a[5]+b[1]+b[3]+b[5]+b[7]+b[9])%4;
c[6]=(a[6]+b[3]+b[5]+b[6]+b[9])%4;
c[7]=(a[7]+b[4]+b[7]+b[8])%4;
c[8]=(a[8]+b[5]+b[7]+b[8]+b[9])%4;
c[9]=(a[9]+b[6]+b[8]+b[9])%4;
int sum=-1;
for(int i=1; i<=9; i++)
sum+=c[i];
if(sum+1==0)
{
for(int i=1;i<=9;i++)
{
for(int j=1;j<=b[i];j++)
printf("%d ",i);
}
return 0;
}
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.