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

雪竹的天空

theorix

  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
  34 隨筆 :: 0 文章 :: 20 評論 :: 0 Trackbacks

  1 Source Code
  2 Problem: 3683        User: theorix
  3 Memory: 23864K        Time: 188MS
  4 Language: C++        Result: Accepted
  5 
  6     * Source Code
  7 
  8       #include<iostream>
  9       #include<algorithm>
 10       using namespace std;
 11       const int NN=1009;
 12       int visit[NN*2];
 13       int in[NN*2];
 14       int n;
 15       int order[NN*2],order_t;
 16       int belong[NN*2],belong_t;
 17       struct seq
 18       {
 19           int start,end;
 20       }v[NN*2];
 21       struct node
 22       {
 23           int id;
 24           node *next;
 25       }mem[5000000],path[NN*2],rpath[NN*2],way[NN*2],way2[NN*2];
 26       int mem_t;
 27       inline bool cross(int i,int j)
 28       {
 29           if(v[i].start>=v[j].end||v[i].end<=v[j].start)return false;
 30           return true;
 31       }
 32       inline void link(int i,int j)
 33       {
 34           node*t=&mem[mem_t++];
 35           t->id=j;
 36           t->next=path[i].next;
 37           path[i].next=t;
 38           t=&mem[mem_t++];
 39           t->id=i;
 40           t->next=rpath[j].next;
 41           rpath[j].next=t;
 42       }
 43       void dfs(int k)
 44       {
 45           visit[k]=1;
 46           node *t;
 47           for(t=path[k].next;t;t=t->next)
 48           {
 49               if(!visit[t->id])
 50                   dfs(t->id);
 51           }
 52           order[++order_t]=k;
 53       }
 54       void rdfs(int k)
 55       {
 56           visit[k]=1;
 57           belong[k]=belong_t;
 58           node *t;
 59           for(t=rpath[k].next;t;t=t->next)
 60           {
 61               if(!visit[t->id])
 62                   rdfs(t->id);
 63           }
 64       }
 65       bool check()
 66       {
 67           int i;
 68           for(i=1;i<=n;i++)
 69               if(belong[i*2-1]==belong[i*2])
 70                   return false;
 71           return  true;
 72       }
 73       void Dfs(int k)
 74       {
 75           visit[k]=2;
 76           node *t;
 77           for(t=way[k].next;t;t=t->next)
 78           {
 79               if(!visit[t->id])
 80               {
 81                   Dfs(t->id);
 82               }
 83           }
 84       }
 85       void display()
 86       {
 87           int i,j;node *t,*tt;
 88           memset(in,0,sizeof(in));
 89           for(i=1;i<=2*n;i++)
 90           {
 91               for(t=path[i].next;t;t=t->next)
 92               {
 93                   int a=belong[i],b=belong[t->id];
 94                   if(a!=b)
 95                   {
 96                       for(tt=way[b].next;tt;tt=tt->next)
 97                       {
 98                           if(tt->id==a)break;
 99                       }
100                       if(!tt)
101                       {
102                           tt=&mem[mem_t++];
103                           tt->id=a;
104                           tt->next=way[b].next;
105                           way[b].next=tt;
106                           in[a]++;
107                       }
108                   }
109               }
110           }
111           for(i=1;i<=n;i++)
112           {
113               int a=belong[i*2-1],b=belong[i*2];
114               for(t=way2[b].next;t;t=t->next)
115                   if(t->id==a)
116                       break;
117               if(!t)
118               {
119                   tt=&mem[mem_t++];
120                   tt->id=a;
121                   tt->next=way2[b].next;
122                   way2[b].next=tt;
123               }
124               for(t=way2[a].next;t;t=t->next)
125                   if(t->id==b)
126                       break;
127               if(!t)
128               {
129                   tt=&mem[mem_t++];
130                   tt->id=b;
131                   tt->next=way2[a].next;
132                   way2[a].next=tt;
133               }
134           }
135           memset(visit,0,sizeof(visit));
136           order_t=0;
137           for(i=1;i<=belong_t;i++)
138               if(in[i]==0)
139                   order[++order_t]=i,visit[i]=1;
140           int q[NN*2],qt=0;
141           while(order_t>=1)
142           {
143               int tmp=order[order_t--];
144               q[++qt]=tmp;
145               for(t=way[tmp].next;t;t=t->next)
146                   if(!visit[t->id])
147                   {
148                       in[t->id]--;
149                       if(in[t->id]==0)
150                           order[++order_t]=t->id,visit[t->id]=1;
151                   }
152           }
153           memset(visit,0,sizeof(visit));
154           for(i=1;i<=qt;i++)
155           {
156               if(!visit[q[i]])
157               {
158                   visit[q[i]]=1;
159                   for(t=way2[q[i]].next;t;t=t->next)
160                   {
161                       if(!visit[t->id])
162                           Dfs(t->id);
163                   }
164               }
165           }
166           for(i=1;i<=n*2;i++)
167               if(visit[belong[i]]==1)
168               {
169                   int start=v[i].start;
170                   int end=v[i].end;
171                   printf("%02d:%02d %02d:%02d\n",start/60,start%60,end/60,end%60);
172               }
173       }
174       int main()
175       {
176           mem_t=0;
177           scanf("%d",&n);
178           int i,j,k;
179           char ch1[9],ch2[9];
180           int t,tmp;
181           for(i=1;i<=n;i++)
182           {
183               scanf("%s%s%d",&ch1,&ch2,&t);
184               v[2*i-1].start=atoi(ch1)*60+atoi(ch1+3);
185               v[2*i-1].end=v[2*i-1].start+t;
186               v[2*i].end=atoi(ch2)*60+atoi(ch2+3);
187               v[2*i].start=v[2*i].end-t;
188           }
189           for(i=1;i<=n;i++)
190           {
191               for(j=i+1;j<=n;j++)
192               {
193                   if(cross(i*2-1,j*2-1))
194                   {
195                       link(i*2-1,j*2);
196                       link(j*2-1,i*2);
197                   }
198                   if(cross(i*2-1,j*2))
199                   {
200                       link(i*2-1,j*2-1);
201                       link(j*2,i*2);
202                   }
203                   if(cross(i*2,j*2-1))
204                   {
205                       link(i*2,j*2);
206                       link(j*2-1,i*2-1);
207                   }
208                   if(cross(i*2,j*2))
209                   {
210                       link(i*2,j*2-1);
211                       link(j*2,i*2-1);
212                   }
213               }
214           }
215           memset(visit,0,sizeof(visit));
216           order_t=0;
217           for(i=1;i<=2*n;i++)
218           {
219               if(!visit[i])
220                   dfs(i);
221           }
222           memset(visit,0,sizeof(visit));
223           belong_t=0;
224           for(i=order_t;i>=1;i--)
225           {
226               if(!visit[order[i]])
227               {
228                   ++belong_t;
229                   rdfs(order[i]);
230               }
231           }
232           if(!check())
233               printf("NO\n");
234           else
235           {
236               printf("YES\n");
237               display();
238           }
239       }
240 
241 

posted on 2008-09-01 22:55 雪竹的天空( theorix ) 閱讀(1496) 評論(0)  編輯 收藏 引用 所屬分類: 解題報告
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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久久在免费线| 亚洲日本一区二区| 欧美激情国产日韩| 国产免费观看久久黄| 亚洲精品四区| 亚洲经典自拍| 久久理论片午夜琪琪电影网| 欧美在线黄色| 国产精品人成在线观看免费| 日韩一级精品| 夜夜爽99久久国产综合精品女不卡| 久久亚洲一区二区| 久久综合九九| 在线免费观看日本一区| 性娇小13――14欧美| 性欧美xxxx大乳国产app| 欧美色区777第一页| 9色精品在线| 亚洲一区国产一区| 国产精品国产三级国产a| 99人久久精品视频最新地址| 亚洲午夜av在线| 欧美日韩精品在线| 亚洲乱码国产乱码精品精天堂 | 这里只有精品在线播放| 欧美国产三区| 日韩午夜剧场| 亚洲一区中文| 国产精品亚洲第一区在线暖暖韩国| 亚洲手机成人高清视频| 亚洲一区二区三区四区五区午夜| 欧美日韩国产在线看| 日韩亚洲成人av在线| 亚洲欧美激情一区二区| 国产欧美视频一区二区三区| 性久久久久久久久| 免费观看成人www动漫视频| 亚洲国产高清自拍| 欧美日本网站| 午夜免费电影一区在线观看| 久久久久久久精| 亚洲国产精品t66y| 欧美日韩性视频在线| 亚洲欧美自拍偷拍| 麻豆91精品| 99国产精品视频免费观看| 欧美视频日韩视频| 欧美中文字幕不卡| 91久久在线播放| 亚洲影院免费观看| 国内久久婷婷综合| 欧美日韩国产综合视频在线观看中文 | 亚洲欧美日韩天堂| 欧美成人官网二区| 亚洲一区二区黄色| 黑丝一区二区| 欧美日韩国产精品一区二区亚洲| 亚洲欧美经典视频| 亚洲第一成人在线| 欧美一区成人| 一本色道久久加勒比88综合| 国产免费成人av| 欧美激情一区二区久久久| 一区二区电影免费观看| 蜜桃精品久久久久久久免费影院| 一区二区三区日韩精品| 狠狠色香婷婷久久亚洲精品| 欧美日韩国产一区精品一区 | 中文欧美在线视频| 韩国三级电影久久久久久| 欧美人成网站| 久久亚洲电影| 午夜精品美女自拍福到在线| 亚洲欧洲综合| 美女日韩在线中文字幕| 西西裸体人体做爰大胆久久久 | 亚洲第一综合天堂另类专| 欧美色另类天堂2015| 免费亚洲电影| 久久精品国产精品亚洲精品| 在线亚洲国产精品网站| 亚洲国产精品一区制服丝袜 | 亚洲精品国产视频| 国产在线观看精品一区二区三区| 欧美日韩视频一区二区| 欧美成年人视频网站| 久久精品国产欧美亚洲人人爽| 亚洲视频一二| 99综合精品| 9色精品在线| 99精品国产福利在线观看免费| 欧美电影专区| 欧美黄色网络| 你懂的网址国产 欧美| 噜噜爱69成人精品| 久久久久国产精品厨房| 欧美一区二区视频在线观看| 亚洲专区欧美专区| 中文欧美日韩| 亚洲综合精品一区二区| 亚洲视频每日更新| 亚洲网站视频| 亚洲在线观看视频网站| 亚洲在线一区二区三区| 亚洲在线免费视频| 亚洲欧美色婷婷| 性做久久久久久久免费看| 亚洲在线免费观看| 性娇小13――14欧美| 欧美影视一区| 久久一区激情| 欧美第十八页| 亚洲精品护士| 亚洲婷婷综合色高清在线| 亚洲午夜精品国产| 午夜精品久久久久久久99樱桃 | 亚洲精品一二三| 日韩天堂在线视频| 亚洲一区二区三区欧美| 欧美在线地址| 裸体一区二区三区| 亚洲青色在线| 亚洲视频一二三| 欧美怡红院视频一区二区三区| 久久精品导航| 欧美国产精品人人做人人爱| 欧美视频二区| 国产日韩亚洲欧美综合| 在线观看视频一区二区欧美日韩| 亚洲精品久久久久中文字幕欢迎你 | 欧美一级网站| 奶水喷射视频一区| 亚洲另类自拍| 欧美在线日韩在线| 欧美电影免费观看高清| 国产精品爱久久久久久久| 国产一区二区三区高清播放| 91久久精品视频| 亚洲永久免费精品| 久久综合狠狠综合久久综合88 | 美女视频网站黄色亚洲| 欧美日韩一级黄| 国产一区欧美| 一本色道婷婷久久欧美| 久久国产精品99国产| 亚洲欧洲日产国产网站| 亚洲欧美日韩视频二区| 欧美激情亚洲另类| 国产色综合久久| 一区二区成人精品| 久热成人在线视频| 亚洲视频大全| 欧美国产精品人人做人人爱| 国产一区二区三区四区在线观看| av不卡免费看| 免费观看在线综合色| 在线性视频日韩欧美| 欧美a级片网| 国产亚洲视频在线| 一区二区成人精品| 欧美1区免费| 午夜视频在线观看一区二区| 欧美精彩视频一区二区三区| 狠色狠色综合久久| 午夜精品久久| 一区二区三区不卡视频在线观看 | 欧美v日韩v国产v| 亚洲综合三区| 欧美视频在线播放| 亚洲毛片在线免费观看| 蜜臀av性久久久久蜜臀aⅴ| 亚洲欧美另类在线观看| 欧美日韩人人澡狠狠躁视频| 亚洲黄一区二区三区| 蜜桃视频一区| 久久精品成人一区二区三区| 国产欧美在线看| 欧美一区二区| 亚洲欧美日韩一区二区| 国产酒店精品激情| 午夜欧美大片免费观看| 亚洲无限av看| 国产精品久久久久aaaa樱花 | 久久精品夜夜夜夜久久| 亚洲一区二区综合| 国产精品极品美女粉嫩高清在线 | 久久精品国产亚洲a| 亚洲一区二区三区精品在线| 国产精品成人在线观看| 亚洲一本大道在线| 一本久久综合亚洲鲁鲁| 国产精品第一区| 香蕉国产精品偷在线观看不卡| 亚洲午夜精品久久久久久app| 国产精品成人午夜| 欧美中文字幕在线| 欧美综合国产| 玉米视频成人免费看| 欧美成人午夜激情| 欧美国产在线视频|