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

pku 3687 Labeling Balls 逆向拓撲!注意

英文太短,直接貼

Description

Windy has N balls of distinct weights from 1 unit to N units. Now he tries to label them with 1 to N in such a way that:

  1. No two balls share the same label.
  2. The labeling satisfies several constrains like "The ball labeled with a is lighter than the one labeled with b".

Can you help windy to find a solution?


Input

The first line of input is the number of test case. The first line of each test case contains two integers, N (1 ≤ N ≤ 200) and M (0 ≤ M ≤ 40,000). The next M line each contain two integers a and b indicating the ball labeled with a must be lighter than the one labeled with b. (1 ≤ a, bN) There is a blank line before each test case.

Output

For each test case output on a single line the balls' weights from label 1 to label N. If several solutions exist, you should output the one with the smallest weight for label 1, then with the smallest weight for label 2, then with the smallest weight for label 3 and so on... If no solution exists, output -1 instead.

然后這題是一個裸的拓撲排序,但是輸出有點忽悠人,要求輸出標簽代表的球的重量,按照標簽號排序,而且對于重復情況需要標簽ID小的球的質量盡量小。
這里有一個錯誤折騰死人,如果按照正向拓撲,給標簽號小的標簽分配給質量小的球是不對的,應為對于拓撲序來說,很多鏈是平行的,給鏈頭元素最小值的貪心策略并不能保證全局最小,如下圖兩條平行鏈,如果給3分配了較小質量的球,1就得不到最小質量的球,導致結果不滿組最優,但是如果逆向拓撲,給鏈頭標簽最大的分配最重的物體一定能保證正向拓撲序最小
4 2 5
3 1
 1 # include <cstdio>
 2 # include <queue>
 3 # include <vector>
 4 # include <cstring>
 5 using namespace std;
 6 priority_queue<int,vector<int>,less<int> >q;
 7 int g[205],degree[205];
 8 int nxt[50000],v[50000],c,n,m;
 9 int ans[205],num;
10 int main()
11 {
12     int testcase;
13     scanf("%d",&testcase);
14     while(testcase--)
15     {
16         memset(g,-1,sizeof(g));
17         memset(degree,0,sizeof(degree));
18         c=num=0;
19     while(!q.empty()) q.pop();
20         scanf("%d%d",&n,&m);
21         while(m--)
22         {
23             int a,b;
24             scanf("%d%d",&a,&b);
25             v[c]=a;
26             nxt[c]=g[b];
27             g[b]=c++;
28         degree[a]++;
29         }
30         for(int i=1;i<=n;i++)
31             if(!degree[i])
32                 q.push(i);
33     num=n;
34         while(!q.empty())
35         {
36             int top=q.top();
37             q.pop();
38             ans[top]=num--;
39             for(int p=g[top];p!=-1;p=nxt[p])
40             {
41                 degree[v[p]]--;
42                 if(!degree[v[p]])
43                     q.push(v[p]);
44             }
45         }
46         if(num>0)
47             printf("-1\n");
48         else
49         {
50             printf("%d",ans[1]);
51             for(int i=2;i<=n;i++)
52           printf(" %d",ans[i]);
53             printf("\n");
54         }
55     }
56     return 0;
57 }

posted on 2010-10-22 02:24 yzhw 閱讀(162) 評論(0)  編輯 收藏 引用 所屬分類: graph

<2010年10月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

導航

統計

公告

統計系統

留言簿(1)

隨筆分類(227)

文章分類(2)

OJ

最新隨筆

搜索

積分與排名

最新評論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            国产精品久久久91| 久久男人资源视频| 国产精品乱码人人做人人爱| 欧美日韩美女一区二区| 欧美视频在线观看一区| 国产精品私人影院| 黄色亚洲网站| 亚洲精品一区久久久久久| 日韩视频一区二区三区在线播放免费观看 | 久久九九热免费视频| 久久青草久久| 91久久国产综合久久蜜月精品 | 亚洲国产老妈| 99综合电影在线视频| 亚洲自拍偷拍麻豆| 噜噜噜躁狠狠躁狠狠精品视频| 欧美xxx成人| 欧美性淫爽ww久久久久无| 国产日产欧产精品推荐色| 亚洲国产高清aⅴ视频| 亚洲视频二区| 老色鬼久久亚洲一区二区| 亚洲与欧洲av电影| 欧美一区二区三区免费观看 | 亚洲午夜日本在线观看| 久久精品人人爽| 国产精品av久久久久久麻豆网| 精品999成人| 亚洲影音一区| 亚洲国产欧美久久| 欧美一区免费| 国产精品久久9| 亚洲美女91| 美女露胸一区二区三区| 亚洲一区视频在线观看视频| 欧美激情一区二区三区不卡| 国模叶桐国产精品一区| 亚洲一区二区网站| 亚洲国内高清视频| 老司机午夜精品| 国产一区二区三区网站| 亚洲小视频在线观看| 欧美激情视频一区二区三区免费 | 亚洲日韩欧美视频一区| 久久久久久精| 午夜精品久久久久久久男人的天堂 | 亚洲高清免费在线| 久久久国产亚洲精品| 国产精品综合久久久| 亚洲一区二区三区精品在线观看 | 欧美日韩国产综合视频在线观看| 亚洲国产精品传媒在线观看| 午夜在线电影亚洲一区| 欧美午夜久久久| 99在线精品观看| 亚洲国产精品久久人人爱蜜臀 | 久久国产黑丝| 国产欧美一区二区精品婷婷| 午夜一级久久| 久久精品国产亚洲一区二区| 999亚洲国产精| 欧美色综合网| 亚洲免费视频一区二区| 久久精品亚洲一区二区| 一区二区三区久久网| 国产精品成av人在线视午夜片| 一区二区三区久久| 亚洲精选视频在线| 国产精品xnxxcom| 午夜精品久久久久久| 亚洲一区二区三区四区中文| 国产模特精品视频久久久久| 久久香蕉精品| 欧美超级免费视 在线| 91久久精品国产91久久性色tv| 亚洲国产精品女人久久久| 欧美另类在线观看| 亚洲欧美成人综合| 欧美中文在线字幕| 日韩视频一区二区三区在线播放免费观看 | 销魂美女一区二区三区视频在线| 国产一级精品aaaaa看| 美女91精品| 欧美另类专区| 久久不射中文字幕| 欧美**人妖| 国产一区二区在线观看免费| 麻豆精品视频在线| 欧美日韩另类丝袜其他| 久久久久久久波多野高潮日日| 鲁鲁狠狠狠7777一区二区| 亚洲一区中文字幕在线观看| 欧美专区在线观看一区| 一二三区精品福利视频| 欧美一区视频| 一区二区欧美亚洲| 久久久久久伊人| 亚洲综合色噜噜狠狠| 久久久青草婷婷精品综合日韩| 亚洲欧美在线磁力| 午夜精品久久久久久久男人的天堂| 亚洲国产成人精品久久| 亚洲一区二区三区影院| 91久久久久久久久| 欧美亚洲一级| 亚洲新中文字幕| 老司机久久99久久精品播放免费| 欧美亚洲在线播放| 欧美日韩视频| 欧美激情va永久在线播放| 国产视频一区三区| 一区二区三区欧美成人| 亚洲人成在线播放| 久久久久亚洲综合| 久久国产精品免费一区| 欧美新色视频| 亚洲激情自拍| 亚洲电影第三页| 久久精品国产亚洲aⅴ| 欧美一区二区三区四区在线| 欧美三级韩国三级日本三斤| 亚洲国产一区二区三区在线播 | 亚洲三级网站| 看欧美日韩国产| 久久精品视频免费| 国产精品亚洲综合天堂夜夜| 亚洲伦伦在线| 在线一区亚洲| 欧美日韩亚洲成人| 亚洲美女诱惑| av成人免费在线| 欧美激情亚洲国产| 亚洲激情一区| 夜夜嗨av一区二区三区四区| 欧美成年网站| 亚洲欧洲一级| 正在播放亚洲| 欧美视频网站| 亚洲尤物在线视频观看| 久久成人18免费网站| 国产亚洲精品高潮| 久久er精品视频| 久久精品123| 国内一区二区三区| 久久亚洲风情| av成人手机在线| 欧美女同视频| 妖精成人www高清在线观看| 一区二区三区四区五区精品视频 | 狠狠综合久久av一区二区老牛| 欧美一区二区三区在线免费观看| 久久精品视频va| 亚洲电影免费| 欧美三日本三级少妇三99| 亚洲夜晚福利在线观看| 欧美在线视屏| 亚洲高清不卡| 欧美视频中文字幕| 欧美一区国产一区| 91久久久久久| 国产欧美日韩视频| 欧美在线播放一区二区| 欧美高清视频www夜色资源网| 夜夜夜精品看看| 欧美网站在线观看| 久久国产手机看片| 亚洲精品影院在线观看| 欧美中文在线视频| 亚洲久久在线| 国产一区二区三区高清在线观看| 久久久久88色偷偷免费| 亚洲美女电影在线| 老鸭窝毛片一区二区三区| 一本色道久久综合亚洲精品不| 国产日韩精品电影| 欧美精品综合| 久久精品国产91精品亚洲| 99re热这里只有精品视频| 美女视频黄a大片欧美| 亚洲欧美精品中文字幕在线| 在线欧美日韩国产| 国产欧美日韩另类视频免费观看| 欧美国产一区在线| 久久精品国产69国产精品亚洲 | 欧美电影电视剧在线观看| 亚洲一线二线三线久久久| 亚洲黄色小视频| 久久午夜影视| 欧美一区二区三区免费观看| 日韩视频一区二区在线观看 | 亚洲激情影院| 国产亚洲一级高清| 欧美性生交xxxxx久久久| 免费视频一区二区三区在线观看| 亚洲你懂的在线视频| 亚洲毛片在线观看.| 欧美激情成人在线| 久久综合综合久久综合| 欧美一区免费视频| 亚洲小说春色综合另类电影|