⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 4317134_ac_0ms_240k.c

📁 北大大牛代码 1240道题的原代码 超级权威
💻 C
字号:
#include <stdio.h>
void sort(int nn)
{ int a[850][8],i,j,k,b[8]={0},n,m,dui[101],total=1,pos[850][4]={0},find=0,rec,in[9];
  for (i=1;i<=nn;i++)
  { for (j=0;j<=8;j++)
	  scanf("%d",&in[j]);
    for (j=0;j<8;j++)
      a[in[0]][j]=in[j+1];
  }
  n=-1; m=0; dui[m]=in[0];
  while (n<m)
  { n++;
    for (i=0;i<8;i++)
	{ rec=a[dui[n]][i];
	  k=i/2*4+1-i;
	  if (rec && a[rec][k]==dui[n]) 
	{ if (pos[rec][0] || pos[rec][1] || pos[rec][2] || pos[rec][3] || in[0]==rec) continue;
	  dui[++m]=rec; 
	  for (j=0;j<4;pos[rec][j++]=pos[dui[n]][j]);
	  k=i/2;
	  pos[rec][k]+=(i%2==0?1:-1);
      if (i%2==0) b[i]=pos[rec][k]>b[i]?pos[rec][k]:b[i];
	  else b[i]=pos[rec][k]>b[i]?b[i]:pos[rec][k];
	  total++;
	}
	else if (rec) {find=1; break;}
	}
	if (find) break;
  }
  if (find || total!=nn) printf("Inconsistent\n");
    else printf("%d\n",(b[0]-b[1]+1)*(b[2]-b[3]+1)*(b[4]-b[5]+1)*(b[6]-b[7]+1));
}
main ()
{ int num,n;
  scanf("%d",&num);
  for (;num>0;num--)
  { scanf("%d",&n);
    sort(n);
  }
  return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -