日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HDU4324 - Triangle LOVE 拓补排序

發布時間:2024/1/8 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HDU4324 - Triangle LOVE 拓补排序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

HDU4324 - Triangle LOVE :?http://acm.showproblemhdu.edu.cn/.php?pid=4324

標準的拓補排序,上代碼 :

#include <iostream> #include <cstdio> #include <cstring> using namespace std; const int MAXN = 2010; int In[MAXN]; char Map[MAXN][MAXN]; int T,N; int x,y; int flag,Case = 0; void Initial() {flag = 0;memset(In,0,sizeof(In)); } void TopoSort() {int i,j,k;for(i = 0;i < N;i++){/* //這樣寫也可以過,但是時間會多一點點 for(j = 0;j < N;j++) {if(!In[j]){In[j]--,flag++;for(k = 0;k < N;k++){if(Map[j][k])Map[j][k] = 0,In[k]--;}}}*/for(j = 0;j < N;j++)if(!In[j])//找出第一個入度為0的節點 break; if(j == N)//若沒有入度為零的節點,則必成環 {flag = 1;break;}else{In[j]--;//,,, ,,,for(k = 0;k < N;k++)if(Map[j][k] == '1')In[k]--;}} if(flag)printf("Case #%d: Yes\n",++Case);else printf("Case #%d: No\n",++Case); } int main() {int i,j;scanf("%d",&T);while(T--){Initial();scanf("%d",&N);for(i = 0;i < N;i++){scanf("%s",Map[i]);for(j = 0;j < N;j++)if(Map[i][j] == '1')//若有字符'1',則代表當前人 i 喜歡'1'字符所代表的人 jIn[j]++;//入度加一 }TopoSort();}return 0; }

總結

以上是生活随笔為你收集整理的HDU4324 - Triangle LOVE 拓补排序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。