青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

PKU 1094 關系矩陣實現的拓樸排序

題目分的三種情況 不能有環出現
判斷環的時候在處理輸入的時候判斷 另外還在處理完后有一個三重循環的判斷

這個代碼是參考過別人的 最近沒怎么做 手很生···

#include <iostream>
using namespace std;

int sorted[27];
int map[27][27];
char str[200][4];
int main()
{
?int n,m;

?int t;
?int i,j,k;
L2:
?while(scanf("%d%d",&n,&m)==2 && n &&m)
?{

??for(t=1;t<=m;t++)
???scanf("%s",str[t]);

??memset(map,0,sizeof(map));

??for(t=1;t<=m;t++)
??{???
???i=str[t][0]-'A'+ 1;
???j = str[t][2]-'A'+ 1;
???switch(str[t][1])
???{
????case '>':
?????if(map[i][j] == -1 || map[j][i] == 1)
??????goto RESTRIC;
?????map[i][j] = 1;
?????map[j][i] = -1;
?????break;
????case '<':
?????if(map[i][j] == 1 || map[j][i] == -1)
??????goto RESTRIC;
?????map[i][j] = -1;
?????map[j][i] = 1;
?????break;
???}
???
???for(k=1;k<=n;k++)
????for(i=1;i<=n;i++)
?????for(j=1;j<=n;j++)
?????{
??????if(map[i][k] && map[k][j] && k!=i && i!=j )
??????{
???????if(!map[i][j])
???????{
????????if(map[i][k] == map[k][j])
????????{
?????????map[i][j] = map[i][k];
?????????map[j][i] = -map[i][k];
????????}
???????}
???????else
???????{
????????if(map[i][k] == map[k][j])
????????{
?????????if(map[i][k] != map[i][j])
??????????goto RESTRIC;
????????}
???????}
??????}
?????}
?
???for(i=1;i<=n;i++)
???{
????int p = 1;
????for(j=1;j<=n;j++)
????{
?????if(i!=j)
?????{
??????if(map[i][j] == 0)
???????goto L;
??????if(map[i][j] == 1)
???????p++;
?????}
????}
????sorted[p] = i;
???}
???
???printf("Sorted sequence determined after %d relations: ",t);
???for(i=1;i<=n;i++)
????putchar(sorted[i]+'A'-1);
???printf(".\n");
???goto L2;
L:
?;????
??}
??
??printf("Sorted sequence cannot be determined.\n");
??
??continue;
RESTRIC:
??printf("Inconsistency found after %d relations.\n",t);
???
?}
?return 0;
}

posted on 2008-01-05 23:46 Victordu 閱讀(868) 評論(2)  編輯 收藏 引用

評論

# re: PKU 1094 關系矩陣實現的拓樸排序 2008-03-05 17:27 盧亞德

哥們,我來你這里看看啊
1094 我錯了好多次啊 看看錯在哪里啊
//拓撲排序,鄰接陣形式,復雜度O(n^2)
//如果無法完成排序,返回0,否則返回1,ret返回有序點列
//傳入圖的大小n和鄰接陣mat,不相鄰點邊權0
#include<iostream>
using namespace std;
#define maxn 30
int mat[maxn][maxn],ret[maxn],d[maxn],n,num;
int stack[maxn*10];
bool stat[maxn];

bool toposort( )
{
int i,j,pos,top=0,t=0;
for(i=0;i<n;i++)
for(d[i]=j=0;j<n;j++)
if(mat[j][i]==1)d[i]++;
//memset(stack,-1,sizeof(stack));

for(top=i=0;i<n;i++)
if(!d[i]&&stat[i])
{
pos=i;t++;
}
if(t==1)stack[top++]=pos;
else if(t>1)return false;
while(top>0)
{
pos=stack[--top];
ret[num++]=pos;d[pos]=-1;
for(i=0;i<n;i++)
if(mat[pos][i]==1)d[i]--;

for(t=i=0;i<n;i++)
if(!d[i]&&stat[i])
{
pos=i;t++;
}
if(t==1)stack[top++]=pos;
else if(t>1) return false;
}
if(num==n)return true;

return false;
}


int main( )
{
int i,j,m,a,b;
char s[5],c; bool flag;
while(scanf("%d%d",&n,&m)!=EOF)
{
if(!m&&!n)break;
flag=true;num=0;
memset(ret,0,sizeof(ret));
memset(mat,0,sizeof(mat));
memset(stat,0,sizeof(stat));

for(i=1;i<=m;i++)
{
scanf("%s",s);
a=s[0]-'A';b=s[2]-'A';
stat[a]=true;stat[b]=true;
mat[a][b]=1;
if(toposort( )&&flag)
{
flag=false;
printf("Sorted sequence determined after %d relations: \n",i);
for(j=0;j<n;j++)
{
c=ret[j]+'A';
printf("%c",c);
}
printf("\n");
}
else
{
memset(ret,0,sizeof(ret));
num=0;
}
}
num=0;memset(ret,0,sizeof(ret));
toposort( );
if(!num&&flag)printf("Inconsistency found after %d relations.\n",m);
else if(num&&num<n&&flag)
printf("Sorted sequence cannot be determined.\n");
}

return 0;
}  回復  更多評論   

# re: PKU 1094 關系矩陣實現的拓樸排序 2008-03-17 01:22 張棚

呵呵。。
樓上是ecnu cs 的嘛。。
這道題我也不會拓撲。
不過我用 floyd 做的。呵呵。
雖然慢了點....
^_^  回復  更多評論   


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


導航

<2008年1月>
303112345
6789101112
13141516171819
20212223242526
272829303112
3456789

統計

常用鏈接

留言簿(5)

隨筆檔案(46)

搜索

積分與排名

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲一区综合| 午夜在线一区| 免费观看日韩av| 亚洲高清网站| 欧美顶级少妇做爰| 欧美成人中文字幕在线| 亚洲人午夜精品| 亚洲欧洲综合另类| 欧美日韩国产二区| 亚洲综合精品自拍| 香蕉免费一区二区三区在线观看 | 一本大道av伊人久久综合| 欧美黄色大片网站| 亚洲香蕉视频| 欧美一区二区在线视频| 1769国产精品| 亚洲激情精品| 国产精品欧美日韩一区| 久久久久久久一区二区三区| 老色批av在线精品| 亚洲视频久久| 欧美一区网站| 亚洲人www| 亚洲一区二区三区在线观看视频 | 免费在线视频一区| 中文在线一区| 欧美在线一二三| 日韩亚洲精品电影| 午夜精品在线| 亚洲精品久久久蜜桃| 亚洲午夜电影| 亚洲福利精品| 亚洲尤物视频网| 亚洲国产精品成人精品| 亚洲色无码播放| 亚洲电影免费观看高清| 亚洲一区二区欧美| 亚洲国产精品成人综合| 亚洲愉拍自拍另类高清精品| 亚洲国产欧美一区二区三区久久 | 美女视频黄a大片欧美| 亚洲视频在线观看网站| 久久久久久亚洲精品中文字幕 | 亚洲精品久久久久久一区二区| 一区二区三区日韩| 亚洲国产精品一区在线观看不卡| 亚洲网站在线播放| 亚洲黄页视频免费观看| 欧美中文字幕视频| 在线中文字幕日韩| 欧美成人免费小视频| 久久免费视频在线| 国产精品视频免费观看www| 亚洲国产精品黑人久久久| 国产一区二区黄色| 亚洲婷婷国产精品电影人久久| 亚洲精品视频免费| 久久久99久久精品女同性| 欧美在线播放| 国产精品爽黄69| 在线午夜精品自拍| 在线视频日韩精品| 欧美日韩成人| 日韩一区二区精品| 在线一区日本视频| 欧美日韩中文字幕| 夜夜夜久久久| 亚洲欧美99| 国产精品久久久久影院亚瑟| 亚洲视频免费观看| 亚洲一区二区三区色| 欧美丝袜一区二区三区| 一区二区三区精品视频在线观看 | 国产精品素人视频| 一区二区三区国产在线观看| 亚洲一区二区三区四区中文| 欧美亚韩一区| 亚洲制服少妇| 久久成人这里只有精品| 国产一区二区高清| 久久久久久高潮国产精品视| 另类春色校园亚洲| 亚洲国产精品成人精品| 欧美激情中文字幕在线| 一区二区三区四区五区视频| 欧美一区二区三区久久精品| 国产日韩亚洲欧美综合| 久久久久青草大香线综合精品| 免费欧美电影| 亚洲另类黄色| 国产精品久久久久久久久免费| 亚洲综合视频在线| 免费成人网www| 亚洲卡通欧美制服中文| 国产精品久久一级| 久久激情婷婷| 亚洲国产第一| 性做久久久久久| 在线视频国内自拍亚洲视频| 欧美日韩精品一区二区| 亚洲欧美综合精品久久成人| 欧美a级片网| 中文精品一区二区三区| 国语精品一区| 欧美日韩精品免费在线观看视频| 亚洲欧美国产另类| 亚洲国产成人精品女人久久久| 亚洲天堂黄色| 在线欧美三区| 国产精品乱看| 欧美高清hd18日本| 性伦欧美刺激片在线观看| 亚洲黄网站在线观看| 久久精品夜色噜噜亚洲a∨| 99精品久久久| 一区二区在线看| 国产精品视频大全| 欧美激情视频在线免费观看 欧美视频免费一 | 亚洲高清不卡在线| 久久成人18免费网站| 亚洲精品影视在线观看| 国产在线精品二区| 欧美日韩第一区日日骚| 久久影院亚洲| 亚洲欧美国产视频| 亚洲七七久久综合桃花剧情介绍| 久久天堂精品| 欧美一区二视频在线免费观看| 99在线|亚洲一区二区| 伊人久久婷婷| 国产日韩在线视频| 国产精品久久久久久久久久免费看 | 午夜精品999| 亚洲四色影视在线观看| 亚洲国产精品免费| 很黄很黄激情成人| 国产免费成人| 国产伦精品一区二区三区视频黑人| 欧美日韩视频一区二区| 欧美激情bt| 欧美韩日一区二区| 欧美国产一区二区| 免费视频亚洲| 欧美电影在线观看| 欧美成人精品一区| 免费欧美在线视频| 欧美成人国产一区二区| 免费观看欧美在线视频的网站| 可以免费看不卡的av网站| 久久久一二三| 久久综合久色欧美综合狠狠 | 久久人人97超碰国产公开结果 | 久久国产精品色婷婷| 香蕉尹人综合在线观看| 午夜视频在线观看一区二区| 亚洲欧美日韩国产成人| 性欧美大战久久久久久久久| 欧美一区二区三区四区视频| 久久精品男女| 麻豆精品一区二区av白丝在线| 美日韩免费视频| 欧美日韩高清在线观看| 国产精品海角社区在线观看| 国产精品日日摸夜夜摸av| 国产视频在线观看一区 | 欧美日本韩国一区二区三区| 欧美日韩在线高清| 国产精品欧美风情| 狠狠色综合网| 亚洲精品视频在线观看免费| 亚洲午夜精品视频| 欧美一区二区三区日韩| 毛片一区二区三区| 亚洲国产影院| 亚洲欧美精品在线| 久久夜色撩人精品| 欧美日韩午夜视频在线观看| 国产女主播一区二区三区| 亚洲高清一区二| 一区二区三区回区在观看免费视频| 午夜精品久久久久久99热软件| 久久久噜噜噜久久中文字幕色伊伊 | 中文国产成人精品久久一| 欧美专区中文字幕| 欧美bbbxxxxx| 亚洲一区二区成人| 久久免费精品视频| 国产精品国产自产拍高清av| 樱桃国产成人精品视频| 亚洲免费一级电影| 欧美成人午夜视频| 亚洲欧美www| 欧美日韩成人| 亚洲第一天堂av| 欧美一级久久久久久久大片| 亚洲人成精品久久久久| 欧美中文在线观看国产| 欧美日韩中文| 亚洲精品日韩久久| 久久久久一区二区|