1 条题解
-
0
C++ :
#include<stdio.h> #include<string.h> int g[26][26],flag[26][26]; void floyd() { int i,j,k; for(k=0;k<26;k++) for(i=0;i<26;i++) for(j=0;j<26;j++) if(flag[i][k]&&flag[k][j]) flag[i][j]=1; } int main() { int n,m,i,j,x,y,c=0,bj; char s[4]; scanf("%d",&n); while(n--) { memset(g,0,sizeof(g)); memset(flag,0,sizeof(flag)); scanf("%d",&m); while(m--) { scanf("%s",s); x=s[0]-'A'; y=s[2]-'A'; if(s[1]=='<') { g[x][y]=1; flag[x][y]=1; } else { g[y][x]=1; flag[y][x]=1; } } floyd(); printf("Case %d:\n",++c); for(bj=i=0;i<26;i++) for(j=0;j<26;j++) if(!g[i][j]&&flag[i][j]) { bj=1; printf("%c<%c\n",i+'A',j+'A'); } if(!bj) printf("NONE\n"); } return 0; }
- 1
信息
- ID
- 1749
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 10
- 标签
- (无)
- 递交数
- 1
- 已通过
- 1
- 上传者