国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

1001關系推斷

2019-11-08 03:05:12
字體:
來源:轉載
供稿:網友

Description

給你一些已經確定的元素之間的關系,請你判斷是否能從這些元素關系中推斷出其他的元素關系。

Input

輸入的第一行是一個整數N,表示測試數據的組數。每組輸入首先是一個正整數m(m<=100),表示給定元素關系的個數。接下來m行,每行一個元素關系,格式為:元素1<元素2   或者 元素1>元素2元素用一個大寫字母表示,輸入中不會包含沖突的關系。

Output

對于每組輸入,第一行輸出:Case d:,d是測試數據的序號,從1開接下來輸出所有推斷出的新的元素關系,按照字典序從小到大排序,格式為詳見樣例輸出。每個元素關系占一行,輸入中給定的元素關系不要輸出。如果沒有新的元素關系推斷出來,則輸出NONE。

Sample Input 

23A<BC>BC<D2A<BC<D

Sample Output

Case 1:A<CA<DB<DCase 2:NONE

分析:比賽的時候沒能將這個題和圖的知識聯系起來,所以思路完全錯誤。百度之后發現就是一個簡單的有向圖問題。    元素1<元素2 或 元素2>元素1,表示從元素1到元素2有一條通路,以此類推,構成一個有向無環圖。參考代碼:
#include<cstdio>#include<cstdlib>#include<cmath>#include<cstring>#include<string>#include<algorithm>#include<stack>#include<queue>#include<vector>#include<map>using namespace std;const int maxn = 30;int m;int g[maxn][maxn];//g[i][j]為1表示結點i+'A'到結點j+'A'直接可達int flag[maxn][maxn];//標記 值為1表示題目給出的關系 為0表示推理出來的關系int main(){    int T;    scanf("%d",&T);    int cnt = 1;    while( T--)    {        memset(g,0,sizeof(g));        memset(flag,0,sizeof(flag));        scanf("%d",&m);        for( int i = 1; i <= m; i++)        {            char s[5];            scanf("%s",s);            int u = s[0]-'A';            int v = s[2]-'A';            if( s[1] == '<')            {                g[u][v] = 1;                flag[u][v] = 1;            }            else            {                g[v][u] = 1;                flag[v][u] = 1;            }        }        for( int i = 0; i < maxn; i++)            for( int j = 0; j < maxn; j++)                for( int k = 0; k < maxn; k++)                    if( g[i][j] && g[j][k])                        g[i][k] = 1;        PRintf("Case %d:/n",cnt++);        int tmp = 1;        for( int i = 0; i < maxn; i++)            for( int j = 0; j < maxn; j++)                if( g[i][j] && !flag[i][j])                {                    printf("%c<%c/n",i+'A',j+'A');                    tmp = 0;                }        if( tmp)            printf("NONE/n");    }    return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 和硕县| 闽清县| 剑阁县| 庆安县| 沈丘县| 内乡县| 康马县| 长岛县| 乐陵市| 株洲市| 红桥区| 买车| 安吉县| 九台市| 沈丘县| 石景山区| 凤台县| 和田县| 枣阳市| 河北省| 邵阳市| 洛川县| 四平市| 昌乐县| 沾化县| 安岳县| 贵州省| 榆林市| 石阡县| 潢川县| 望江县| 五台县| 卓资县| 图木舒克市| 洛阳市| 哈密市| 道真| 和平区| 榆中县| 霸州市| 囊谦县|