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

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 閱讀(163) 評論(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>
            久久久久国产免费免费| 六十路精品视频| 99国产精品视频免费观看| 欧美精品激情blacked18| 亚洲精品综合精品自拍| 亚洲国产小视频在线观看| 欧美3dxxxxhd| 亚洲视频免费看| 亚洲欧美日韩专区| 亚洲第一区在线观看| 亚洲成色777777女色窝| 欧美日韩国产三区| 欧美尤物一区| 欧美成人69av| 香蕉国产精品偷在线观看不卡| 欧美一区二区三区免费观看| 在线观看欧美日韩| 99天天综合性| 在线精品亚洲一区二区| 亚洲精品美女免费| 国产一级久久| 夜夜躁日日躁狠狠久久88av| 国产视频久久久久久久| 欧美国产视频日韩| 国产欧美日韩一区二区三区在线观看| 毛片av中文字幕一区二区| 欧美日韩ab片| 欧美成人免费播放| 国产九九精品视频| 亚洲国产女人aaa毛片在线| 国产精品久久久久久久久果冻传媒 | 宅男精品视频| 亚洲激情视频在线播放| 亚洲欧美另类国产| 99re热这里只有精品视频| 欧美一区二区三区免费大片| 日韩视频在线一区二区三区| 欧美在线观看一区| 午夜性色一区二区三区免费视频| 免费在线看成人av| 久久亚洲综合色| 国产精品亚洲精品| 99这里只有久久精品视频| 国产在线不卡视频| 夜夜嗨av一区二区三区中文字幕| 亚洲大黄网站| 久久精品亚洲精品国产欧美kt∨| 亚洲校园激情| 欧美日韩国产综合在线| 亚洲国产欧美国产综合一区| 在线观看亚洲视频| 久久国产免费看| 欧美一级视频| 国产乱码精品一区二区三区忘忧草 | 99国产精品99久久久久久| 久久久亚洲国产美女国产盗摄| 久久国产日本精品| 国产精品自拍在线| 亚洲欧美日韩成人高清在线一区| 亚洲曰本av电影| 国产精品xnxxcom| 亚洲一级黄色片| 欧美一区二区三区精品| 国产精品亚发布| 欧美一二三区精品| 久久亚洲一区二区| 欲香欲色天天天综合和网| 久久久久久亚洲精品中文字幕 | 亚洲一区二区毛片| 国产精品观看| 亚洲欧美成人网| 久久久精品国产一区二区三区| 国产精品一区二区视频| 午夜在线不卡| 免费国产自线拍一欧美视频| 在线观看欧美日韩| 欧美激情视频一区二区三区在线播放 | 亚洲一区二区在线免费观看| 性色一区二区| 揄拍成人国产精品视频| 欧美11—12娇小xxxx| 亚洲精品免费在线观看| 亚洲午夜精品视频| 国产精品一区二区久久| 久久免费99精品久久久久久| 亚洲国产视频直播| 小黄鸭视频精品导航| 狠狠综合久久| 欧美精品久久久久a| 亚洲一区二区三区在线观看视频 | 一本久久综合亚洲鲁鲁五月天| 欧美日韩亚洲国产一区| 亚洲在线中文字幕| 老司机一区二区| 99国产一区二区三精品乱码| 国产精品视频一二| 欧美成人亚洲成人| 亚洲欧美日韩在线综合| 欧美好吊妞视频| 欧美专区中文字幕| 亚洲精品美女久久7777777| 国产精品成人在线观看| 久久夜色精品国产噜噜av| 一区二区三区精品| 免费观看30秒视频久久| 亚洲一区二区网站| 亚洲国产一区二区精品专区| 国产精品久久久久久妇女6080 | 亚洲黄色免费电影| 国产伦精品一区二区三区照片91| 美女视频一区免费观看| 亚洲免费视频中文字幕| 亚洲国产合集| 久久综合狠狠综合久久激情| 一区二区三区www| 亚洲国产一区视频| 国产一区二区三区无遮挡| 欧美日韩精品免费观看视频| 久久免费的精品国产v∧| 亚洲综合色视频| 日韩视频一区二区在线观看 | 欧美三级欧美一级| 久久一区精品| 久久狠狠亚洲综合| 午夜精品福利在线| 亚洲一本大道在线| 一本色道综合亚洲| 91久久久亚洲精品| 亚洲高清精品中出| 欧美激情中文字幕在线| 老司机67194精品线观看| 欧美专区在线观看| 久久爱www| 欧美一区二区三区喷汁尤物| 亚洲一卡二卡三卡四卡五卡| 日韩一区二区精品葵司在线| 亚洲国产精品久久| 91久久精品美女高潮| 在线看视频不卡| 伊人久久综合| 亚洲国产一区在线| 亚洲国产专区校园欧美| 在线观看av不卡| 亚洲国产另类精品专区| 激情小说亚洲一区| 在线免费观看日韩欧美| 影音欧美亚洲| 亚洲精品乱码| 亚洲午夜久久久久久久久电影网| 中文成人激情娱乐网| 亚洲在线视频| 久久精品二区三区| 美女国产精品| 亚洲国产美国国产综合一区二区| 亚洲日本aⅴ片在线观看香蕉| 亚洲精品美女免费| 亚洲一区二区三区四区五区黄| 午夜电影亚洲| 欧美在线播放一区二区| 久久一综合视频| 欧美日韩国产欧| 国产嫩草一区二区三区在线观看 | 欧美日韩另类在线| 国产精品日韩在线播放| 国产夜色精品一区二区av| 亚洲第一伊人| 在线视频一区二区| 久久精品人人| 亚洲激情视频网站| 亚洲欧美日韩国产综合精品二区| 久久九九精品| 欧美三级不卡| 极品少妇一区二区三区精品视频| 亚洲精品视频免费在线观看| 亚洲欧美日韩第一区| 久久伊伊香蕉| 一本久道久久综合中文字幕| 先锋影音久久| 欧美日韩亚洲视频| 精品av久久久久电影| 亚洲午夜av| 欧美99久久| 亚洲欧美综合国产精品一区| 久热精品视频在线观看一区| 欧美日韩裸体免费视频| 永久555www成人免费| 午夜电影亚洲| 最近中文字幕mv在线一区二区三区四区 | 亚洲精品一区二区三区四区高清 | 亚洲大片av| 性欧美大战久久久久久久免费观看| 免费观看久久久4p| 国产精品伊人日日| 在线午夜精品自拍| 欧美激情1区2区3区| 亚洲欧美另类在线| 欧美深夜福利| 99国产精品久久| 美日韩免费视频| 欧美在线亚洲|