国产探花免费观看_亚洲丰满少妇自慰呻吟_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;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新和县| 孟津县| 河池市| 张家港市| 余干县| 巴楚县| 手游| 古蔺县| 宽甸| 江华| 美姑县| 都匀市| 吐鲁番市| 乐昌市| 大兴区| 仙居县| 江门市| 夏邑县| 澎湖县| 莱阳市| 双桥区| 临泽县| 曲沃县| 翁牛特旗| 安阳县| 肥西县| 安达市| 手机| 洮南市| 新泰市| 神木县| 天津市| 普宁市| 邻水| 霍林郭勒市| 大丰市| 连云港市| 驻马店市| 普陀区| 开封市| 始兴县|