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

poj1300

Door Man

Time Limit: 1000MS Memory Limit: 10000K
Total Submissions: 1339 Accepted: 487

Description

You are a butler in a large mansion. This mansion has so many rooms that they are merely referred to by number (room 0, 1, 2, 3, etc...). Your master is a particularly absent-minded lout and continually leaves doors open throughout a particular floor of the house. Over the years, you have mastered the art of traveling in a single path through the sloppy rooms and closing the doors behind you. Your biggest problem is determining whether it is possible to find a path through the sloppy rooms where you:

  1. Always shut open doors behind you immediately after passing through
  2. Never open a closed door
  3. End up in your chambers (room 0) with all doors closed

In this problem, you are given a list of rooms and open doors between them (along with a starting room). It is not needed to determine a route, only if one is possible.

Input

Input to this problem will consist of a (non-empty) series of up to 100 data sets. Each data set will be formatted according to the following description, and there will be no blank lines separating data sets.
A single data set has 3 components:

  1. Start line - A single line, "START M N", where M indicates the butler's starting room, and N indicates the number of rooms in the house (1 <= N <= 20).
  2. Room list - A series of N lines. Each line lists, for a single room, every open door that leads to a room of higher number. For example, if room 3 had open doors to rooms 1, 5, and 7, the line for room 3 would read "5 7". The first line in the list represents room 0. The second line represents room 1, and so on until the last line, which represents room (N - 1). It is possible for lines to be empty (in particular, the last line will always be empty since it is the highest numbered room). On each line, the adjacent rooms are always listed in ascending order. It is possible for rooms to be connected by multiple doors!
  3. End line - A single line, "END"

Following the final data set will be a single line, "ENDOFINPUT".

Note that there will be no more than 100 doors in any single data set.

Output

For each data set, there will be exactly one line of output. If it is possible for the butler (by following the rules in the introduction) to walk into his chambers and close the final open door behind him, print a line "YES X", where X is the number of doors he closed. Otherwise, print "NO".

Sample Input

START 1 2
1

END
START 0 5
1 2 2 3 3 4 4




END
START 0 10
1 9
2
3
4
5
6
7
8
9

END
ENDOFINPUT

Sample Output

YES 1
NO
YES 10
以門為邊,房間為點,顯然題目中已經(jīng)說明該圖連通
我們要做的就是判斷該圖是否有歐拉回路或歐拉通路
并且要求一定的起點和終點
很顯然這是個無向圖,只要統(tǒng)計度數(shù),根據(jù)定理判斷即可
主要問題在于數(shù)據(jù)如何處理
我們用sscanf處理每一行的字符串,具體用法見百科
#include<algorithm>
#include
<iostream>
#include
<cstring>
#include
<cstdio>
#include
<cstdlib>
#include
<string>
#include
<cmath>
using namespace std;
int readline(char* s)
{
    
int l;
    
for(l=0; (s[l]=getchar())!='\n'&&s[l]!=EOF; l++);
    s[l]
=0;
    
    
return l;
}

int main()
{
    
int i,j,k;
    
char buf[150];
    
int m,n;
    
int door[20];
    
int doors;
    
int odd,even;
    
while(readline(buf))
    
{
        
if (buf[0]=='S')
        
{
            sscanf(buf,
"%*s %d %d",&m,&n);
            memset(door,
0,sizeof(door));
            doors
=0;
            
for(i=0; i<n; i++)
            
{
                readline(buf);
                k
=0;
                
while(sscanf(buf+k,"%d",&j)==1)//處理每一行
                {
                    doors
++;
                    door[i]
++;
                    door[j]
++;
                    
while(buf[k]&&buf[k]==' ') k++;
                    
while(buf[k]&&buf[k]!=' ') k++;
                }

            }

            readline(buf);
            odd
=0;
            even
=0;
            
for(i=0; i<n; i++)
            
{
                
if (door[i]%2==0)
                
{
                    even
++;
                }

                
else odd++;
            }

            
if (odd==0&&m==0)
            
{
                printf(
"YES %d\n",doors);
            }

            
else if(odd==2&&(door[m]%2==1)&&(door[0]%2==1)&&m!=0)
            
{
                printf(
"YES %d\n",doors);
            }

            
else
                printf(
"NO\n");
        }

        
else if (strcmp(buf,"ENDOFINPUT")==0)
        
{
            
break;
        }

    }

    
return 0;
}

posted on 2012-04-03 12:10 jh818012 閱讀(224) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

導(dǎo)航

統(tǒng)計

常用鏈接

留言簿

文章檔案(85)

搜索

最新評論

  • 1.?re: poj1426
  • 我嚓,,輝哥,,居然搜到你的題解了
  • --season
  • 2.?re: poj3083
  • @王私江
    (8+i)&3 相當(dāng)于是 取余3的意思 因為 3 的 二進(jìn)制是 000011 和(8+i)
  • --游客
  • 3.?re: poj3414[未登錄]
  • @王私江
    0ms
  • --jh818012
  • 4.?re: poj3414
  • 200+行,跑了多少ms呢?我的130+行哦,你菜啦,哈哈。
  • --王私江
  • 5.?re: poj1426
  • 評論內(nèi)容較長,點擊標(biāo)題查看
  • --王私江
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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成人| 欧美在线电影| 亚洲久色影视| 久久久久久91香蕉国产| 欧美一区二区三区免费观看视频| 亚洲精品一区在线观看| 亚洲精品1区| 亚洲国产日韩精品| 国产亚洲aⅴaaaaaa毛片| 欧美中文在线视频| 一本久道久久久| 亚洲人体一区| 免费欧美网站| 久久久www免费人成黑人精品| 亚洲婷婷国产精品电影人久久| 在线成人激情视频| 久久久久久电影| 久久成人av少妇免费| 香蕉成人伊视频在线观看| 香蕉av福利精品导航| 久久精品国产99精品国产亚洲性色| 亚洲欧美日韩区| 亚洲毛片播放| 亚洲欧美日韩成人高清在线一区| 亚洲综合日本| 亚洲欧美日韩天堂| 亚洲一区二区三区精品动漫| 亚洲香蕉在线观看| 午夜在线视频一区二区区别| 亚洲午夜精品福利| 最新国产成人在线观看| 久久综合色天天久久综合图片| 国产色综合网| 国产精品青草综合久久久久99| 国产精品色在线| 国产亚洲欧洲997久久综合| 在线观看欧美日韩国产| 国产精品99久久久久久白浆小说| 欧美国产精品劲爆| 久久伊人免费视频| 久久一二三四| 国产精品久久久久久久午夜| 在线观看久久av| 欧美影院成人| 日韩午夜电影av| 久久视频这里只有精品| 国产日韩欧美亚洲| 亚洲一区视频在线| 亚洲国产婷婷| 欧美在线免费| 欧美日本在线看| 韩国三级在线一区| 亚洲欧美综合| 一本一本久久a久久精品综合麻豆| 免费成人高清视频| 韩日精品中文字幕| 午夜精品久久久久久久99黑人| 亚洲激情网站| 欧美中文日韩| 国产九九精品| 亚洲欧美精品伊人久久| 亚洲精品久久久久久一区二区| 欧美一区二区私人影院日本| 欧美日韩亚洲91| 亚洲精品日韩在线观看| 欧美在线国产| 欧美国产高清| 国产老肥熟一区二区三区| 国产一区深夜福利| 牛人盗摄一区二区三区视频| 国产一区视频在线看| 宅男精品导航| 欧美国产成人在线| 久久久久久久久久看片| 国产女人aaa级久久久级| 夜夜爽99久久国产综合精品女不卡| 女人色偷偷aa久久天堂| 久久久久一区二区| 亚洲伦理一区| 亚洲视频高清| 国产精品亚洲视频| 欧美一站二站| 久久久午夜精品| 亚洲国产精品久久久久秋霞蜜臀 | 久久人人超碰| 国产性色一区二区| 毛片一区二区| 亚洲人体一区| 欧美国产日韩视频| 欧美资源在线观看| 亚洲电影自拍| 9l国产精品久久久久麻豆| 国产精品一二三四| 久久综合色8888| 欧美岛国激情| 亚洲欧美日韩人成在线播放| 欧美在线网址| 亚洲国产视频直播| 亚洲美女性视频| 国产精品三级久久久久久电影| 久久久精品一区| 午夜精品久久久久久久蜜桃app| 欧美日韩精品一区二区在线播放 | 欧美日韩精品一二三区| 99国内精品| 99伊人成综合| 欧美日韩一区二区三区四区在线观看| 国内外成人免费激情在线视频网站 | 久久青草福利网站| 国产拍揄自揄精品视频麻豆| 欧美a级大片| 欧美大片在线观看一区二区| 亚洲一区三区电影在线观看| 久久久久久久网站| 亚洲精品视频中文字幕| 羞羞答答国产精品www一本| 日韩午夜高潮| 欧美一区二区三区在线观看| 日韩午夜激情| 另类欧美日韩国产在线| 久久精品亚洲一区| 欧美激情国产日韩| 蜜臀av一级做a爰片久久| 欧美精品一区二区三区在线播放 | 制服丝袜亚洲播放| 亚洲淫性视频| 狂野欧美性猛交xxxx巴西| 亚洲一区二区三区视频| 欧美黄色大片网站| 欧美高清视频在线| 一区二区在线免费观看| 亚洲色图制服丝袜| 亚洲一区视频在线观看视频| 久久综合网络一区二区| 久久久久久婷| 国产日韩在线视频| 在线亚洲成人| 亚洲你懂的在线视频| 欧美午夜片在线观看| 一本色道久久综合亚洲精品不 | 亚洲第一在线| 久热综合在线亚洲精品| 免费亚洲电影在线观看| 在线观看欧美日韩| 久久精品91久久久久久再现| 久久精品夜色噜噜亚洲aⅴ| 国产三级精品三级| 欧美一站二站| 欧美在线视频全部完| 国产精品午夜在线观看| 99这里只有久久精品视频| 国产精品视频内| 免费不卡欧美自拍视频| 亚洲三级免费| 一区国产精品| 欧美在线观看一区二区三区| 亚洲麻豆国产自偷在线| 欧美日韩国产123区| 欧美岛国在线观看| 亚洲人人精品| 久久这里有精品视频 | 久久精品女人的天堂av| 国产伦精品一区二区三区视频孕妇| 亚洲欧美日韩国产中文在线| 久久久不卡网国产精品一区| 亚洲国产精品女人久久久| 久久九九免费视频| 欧美大片在线观看| 在线视频国产日韩| 久久最新视频| 99综合在线| 欧美在线视频在线播放完整版免费观看| 国产一区二区无遮挡| 免费不卡欧美自拍视频| 亚洲精品社区| 久久精品青青大伊人av| 在线不卡中文字幕| 久久国产一区二区三区| 嫩草国产精品入口| 亚洲精品一区二区三区四区高清| 欧美视频网站| 免费久久99精品国产自| 亚洲国产欧美久久| 国产精品久久午夜夜伦鲁鲁| 午夜精品免费| 欧美黑人在线观看| 亚洲一区二区免费看| 伊人成综合网伊人222| 欧美日韩免费一区二区三区| 99视频热这里只有精品免费| 久久精选视频| 在线播放中文一区| 国产精品尤物| 欧美黑人一区二区三区| 亚洲在线视频| 狠狠色香婷婷久久亚洲精品| 欧美极品aⅴ影院| 亚洲视频欧洲视频| 国产一区在线观看视频|