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

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
以門為邊,房間為點,顯然題目中已經說明該圖連通
我們要做的就是判斷該圖是否有歐拉回路或歐拉通路
并且要求一定的起點和終點
很顯然這是個無向圖,只要統計度數,根據定理判斷即可
主要問題在于數據如何處理
我們用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)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


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

導航

統計

常用鏈接

留言簿

文章檔案(85)

搜索

最新評論

  • 1.?re: poj1426
  • 我嚓,,輝哥,,居然搜到你的題解了
  • --season
  • 2.?re: poj3083
  • @王私江
    (8+i)&3 相當于是 取余3的意思 因為 3 的 二進制是 000011 和(8+i)
  • --游客
  • 3.?re: poj3414[未登錄]
  • @王私江
    0ms
  • --jh818012
  • 4.?re: poj3414
  • 200+行,跑了多少ms呢?我的130+行哦,你菜啦,哈哈。
  • --王私江
  • 5.?re: poj1426
  • 評論內容較長,點擊標題查看
  • --王私江
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            国产精品美女999| 久久综合精品一区| 欧美在线日韩| 欧美日韩不卡一区| 伊甸园精品99久久久久久| 99re这里只有精品6| 久久精品青青大伊人av| 一区二区精品在线| 欧美成人激情在线| 伊人精品视频| 欧美在线视频一区二区三区| 日韩一级成人av| 欧美国产日韩一区二区三区| 黄色成人av在线| 久久成人精品| 亚洲一卡二卡三卡四卡五卡| 欧美日韩亚洲国产精品| 亚洲欧洲一级| 男女激情视频一区| 久久精品中文字幕免费mv| 国产欧美日韩麻豆91| 亚洲在线观看视频网站| 夜夜嗨av一区二区三区| 欧美日韩精品系列| 一区二区三区**美女毛片| 亚洲福利视频专区| 久久久久88色偷偷免费| 国产午夜亚洲精品理论片色戒| 亚洲欧美综合| 亚洲一二区在线| 国产精品久久国产精麻豆99网站| 一区二区三区日韩精品| 亚洲人成啪啪网站| 欧美国产日韩精品免费观看| 亚洲精品国产精品乱码不99按摩| 欧美高清视频一区二区三区在线观看 | 久久久久久午夜| 欧美一级欧美一级在线播放| 国产精品一区二区三区四区| 亚洲欧美中文另类| 亚洲永久免费| 国产欧美一区二区视频| 久久av资源网站| 先锋资源久久| 国产亚洲精品福利| 久久久久国产免费免费| 久久国产精品电影| 精品88久久久久88久久久| 另类图片综合电影| 老司机免费视频一区二区| 亚洲欧洲精品一区二区精品久久久 | 国产一区高清视频| 久久久久欧美| 久久影视三级福利片| 最新日韩中文字幕| 亚洲美女一区| 国产精品入口麻豆原神| 久久久久www| 久久久噜噜噜久噜久久| 亚洲激情校园春色| 亚洲国产天堂久久综合网| 欧美精品久久天天躁| 亚洲视频免费| 亚洲欧美国产精品桃花| 国产专区精品视频| 欧美国产精品中文字幕| 欧美区国产区| 午夜精品久久久久久久久久久 | 亚洲欧美三级在线| 欧美一区二区精品在线| 在线播放视频一区| 亚洲国产欧美在线人成| 欧美日韩视频第一区| 午夜视频在线观看一区二区三区| 久久高清免费观看| 亚洲裸体俱乐部裸体舞表演av| 亚洲精品日韩久久| 国产精品人人做人人爽| 久久综合九色| 欧美激情中文字幕乱码免费| 亚洲综合社区| 久久激情五月婷婷| 亚洲三级影院| 亚洲综合视频1区| 亚洲国产精品成人va在线观看| 亚洲日本免费电影| 国产噜噜噜噜噜久久久久久久久| 免费观看成人| 欧美三级网页| 久久综合久久久| 欧美日韩国产高清视频| 欧美综合二区| 欧美国产精品一区| 久久精品麻豆| 欧美成人免费全部| 午夜精品免费| 男女激情久久| 香蕉成人久久| 欧美a一区二区| 欧美一级视频| 欧美激情一区二区三区高清视频 | 亚洲精品免费网站| 国产精品亚洲综合一区在线观看| 免费在线成人av| 国产精品久久久久久久7电影| 蜜桃av综合| 国产精品久久久久久久久久久久久 | 久久久噜噜噜久久人人看| 欧美高清成人| 久久全国免费视频| 国产精品高潮在线| 欧美成人精品在线| 国产精品亚洲第一区在线暖暖韩国| 欧美成人免费网站| 国产伦精品一区二区三区四区免费 | 久久亚洲春色中文字幕久久久| 欧美精品日日鲁夜夜添| 久久蜜桃资源一区二区老牛| 欧美日韩一区二区高清| 欧美成ee人免费视频| 国产精品日韩精品欧美在线| 亚洲国产高潮在线观看| 国产婷婷色综合av蜜臀av| 亚洲精品综合精品自拍| 在线播放日韩| 新狼窝色av性久久久久久| 亚洲视频碰碰| 猫咪成人在线观看| 久久久激情视频| 国产精品美女一区二区| 亚洲精品欧美专区| 91久久综合| 久久精品国产亚洲a| 午夜一区在线| 欧美视频一区二| 亚洲国产婷婷香蕉久久久久久| 影音先锋国产精品| 欧美一区二区三区啪啪 | 一本久久综合亚洲鲁鲁| 亚洲人成亚洲人成在线观看图片| 欧美在线视频日韩| 先锋影音网一区二区| 国产精品ⅴa在线观看h| 亚洲精品乱码久久久久久久久| 亚洲欧洲美洲综合色网| 久久久精品国产免大香伊| 久久精选视频| 国产色婷婷国产综合在线理论片a| 一本一本久久a久久精品综合妖精| 亚洲精品久久嫩草网站秘色| 久久久综合精品| 久久久之久亚州精品露出| 国产农村妇女精品一区二区| 正在播放亚洲一区| 一区二区三区四区蜜桃| 欧美电影在线观看完整版| 欧美国产极速在线| 亚洲国产清纯| 免费中文日韩| 亚洲经典一区| 一区二区三区久久网| 欧美精品在线免费| 亚洲人成7777| 亚洲午夜在线观看视频在线| 欧美日韩综合另类| 在线一区二区三区做爰视频网站 | 欧美日精品一区视频| 亚洲毛片一区| 亚洲天堂激情| 国产精品夜色7777狼人| 亚洲欧美激情在线视频| 久久精品国产久精国产爱| 国产亚洲精品高潮| 久久久久久久激情视频| 女同一区二区| 91久久久国产精品| 欧美激情精品| 一本一本久久a久久精品综合麻豆| 亚洲色无码播放| 国产精品久久久久久久久免费| 亚洲天堂黄色| 久久国产88| 精品二区久久| 免费不卡亚洲欧美| 亚洲人午夜精品免费| 正在播放亚洲一区| 国产美女一区二区| 久久精品国产96久久久香蕉| 久久综合精品国产一区二区三区| 亚洲丶国产丶欧美一区二区三区| 免费成人在线视频网站| 亚洲精品国产视频| 亚洲欧美日韩精品久久奇米色影视| 国产精一区二区三区| 久久久久国产精品人| 欧美激情精品久久久久久| 99ri日韩精品视频| 国产精品国产三级欧美二区 | 欧美日韩高清在线一区| 在线视频欧美精品|