Праздник bzoj1823 luogu4171

+1823: [JSOI2010] Пир

Лимит времени: 10 сек   Ограничение памяти: 64 MB
Добавить: 3392   Решено: 1704
[ Отправить ] [ Статус ] [ Обсудить ]

Описание

Праздник является наиболее роскошными китайскими банкетными блюдами, есть много различных видов материалов через методу приготовления пищи или маньчжурскую Хань, представленных в мириадах блюд. Из-за больших и сложных блюд, лишь немногие из знающих талантливого шеф-повара может сделать праздник, и быть в состоянии приготовить, это один из нескольких наших специалистов честь Праздника крупнейшего китайского повара. Всемирная ассоциация может полакомиться пиром кухни повара, состоящий из экспертов, но среди них также разбита на несколько различных уровни поваров. Для привлечения новых участников в мир поваров праздник Ассоциация вскоре организует конкурс Feast, Ассоциация направила многие член в качестве экспертов по оценке, должна быть среди участвующих поваров, нашел восходящую звезду пищевой промышленности маньчжурской. Правила Генеральной Ассамблеи заключается в следующем: Каждый из участвующих игроки могут получить п виды материалов, игроки могут свободно выбирать, с полным китайского типа кухни или материала в качестве блюд. Система Обзора Генеральной Ассамблеи является: в общей сложности м бит испытателей были чеками. Каждый рецензент на праздник имеет свои собственные уникальные идеи, но основная точка зрения является то, что должно отличаться от блюд, как праздник флага. Если отзыв, если нет в китайском стиле Свинины с полным стилем баранины горшком, не может рассматриваться в празднике. Но избегать слишком сильного мыслящих обзора, положения Генеральной Ассамблеи, если оно не находится в рецензент считает, что должно быть два блюда не сделано из ситуации для того, чтобы исключить игрок, или не может быть устранен конкурсантом. Другими словами, до тех пор, пока участники могут практиковаться в этих двух материалов, один в соответствии с предпочтениями оценки могут быть рассмотрены в обзоре. Когда материалы, такие как свинина, баранина и говядина, есть как четыре испытателей в следующей таблице: обзор двух оценки обзор три полный обзора четыре полного типа стиле говядины свинины говядина Хань Хань китайского стиль свинина, говядина и баранина полного стиля в китайском стиле свинина заполненной ягненок стиль как участники делают полный стиль свинина, баранина и полный стиль, полный блюда из говядины, он будет не в состоянии удовлетворить требования аккредитации III, не может пройти оценку. Конкурсанты B сделать китайский стиль свинин, баранину и полный стиль полных блюд из говядины, чтобы удовлетворить потребности всех обзоров. Но позже мы обнаружили, что Генеральная Ассамблея, в рамках такой системы, если материал посылается оценщиком, выбранным без особого расположения хорошо, все участники могут рассматривать только часть рецензентов, но не все, так что никто не может произойти в результате рассмотрения ситуация. Если когда четыре оценивающего предпочтение в следующей таблице, независимо от того, какого рода практики конкурентов, не может пройти экспертизу всей оценки: обзор два обзора по оценке три полный обзор четыре полного типа стиле баранины Китайского стиля Китайского стиль свинина в китайском стиле свинина, баранина полного типа стиле свинина в китайском стиле полной свинины

вход

Первая строка содержит число K, K представляет собой тестовый файл содержит набор данных. Первая строка каждого набора тестовых данных содержит два числа с п м (n≤100, m≤1000), представители русских материалов, м бит дегустаторов. Для удобства материал отбрасывали китайское название, данное число, пронумерованных от 1 до п. Следующие м линия, каждая строка представляет соответствующие рецензенты имеют два предпочтения, каждое предпочтение письма с последующим числом представляет, например, m1 от имени этого обзора материалов, как первый, чтобы сделать это через полную кухню блюда, в то время как h2 от имени рецензентов, как первые два через материал, сделанный из китайской кухни. Каждый тестовый файл не будет иметь более чем 50 наборов тестовых данных

Выход

Из каждого вывод данных линии теста, это не произойдет, если никто не может оценить дилемму, выход хорошо, в противном случае выхода BAD (заглавных буквах).

Пример ввода

2
3 4
m3 «S H1
m1 является М2
Н1 Н3
Н3 М2
2 4
Н1 М2
M2 M1 является
H1 H2
m1 является Н2

Пример вывода

ХОРОШАЯ
ПЛОХАЯ

Подробнее о 2-SAT шаблон темы

2-СБ проблема: сбор, каждый элемент имеет два значения, например, чтобы дать некоторые формыпринять A 0/1 , то Б должно быть извлечены B 0/1 ограничений,просьбойесть ли раствор

См проблемы, первая реакция является расширением домена непересекающегося-набора

Если, однако , думать о том условии: если принять A 0 , B с B 0 , то комбинированный A 0 и B 0 , если на этот раз добавив практически B принимает B 0 , то принимает A 0 ограничения

Так как ее решить?

Без расширения поля непересекающихся набора в боковых кромках направлены, сильно связанные компоненты могут затем искать!

 

В этой задаче, если судьи предпочтение те Г , так что, если человек сделал HX , то он должен сделать HY , если сделан My , вы должны сделать ое

Тогда это 2-СБ является шаблон

 

 

# include <бит / STDC ++ ч.>
 с использованием  пространства имен STD;
Const  INT N = 105 , М = 1005 ;
INT п, м;
INT головы [N << 1 ], веры [М << 1 ], NXT [М << 1 ], с;
INT совместно, DFN [N << 1 ], низкая [N << 1 ], улица [N << 1 ], верхняя, модули [N << 1 ], с [Н << 1 ], CNT;
символ ч [ 10 ];
недействительными Тарьян ( INT сейчас) 
{ 
    DFN [теперь] = низкий [теперь] = ++ совместно, модули [теперь] = 1 , ст [++ начало] =сейчас;
    для ( INT I = голова [теперь]; я; я = NXT [I]) 
    { 
        INT у = вер [I];
        если (! д.ф.н. [у]) 
        { 
            Тарьян (у); 
            низкая [теперь] = мин (низкое [теперь], низкий [у]); 
        } 
        Иначе ,  если (модули [у]) низкая [теперь] = мин (низкое [теперь], DFN [у]); 
    } 
    Если (DFN [теперь] == низкая [теперь]) 
    {
         CNT ++; INT у = - 1 ;
        в то время как (у =! сейчас) 
            у = й [верх -], с [у] = CNT, модули [Y] = 0  ;
    }
} 
Недействительными инициализации ( INT & х) 
{ 
    зсапЕ ( " % s " , гл + 1 );
    INT F = 0 , Res = 0 ;
    если (ч [ 1 ] == ' ч ' ) е = п;
    для ( INT I = 2 ; г <= STRLEN (CH + 1 ); ++ я) разреш = разреш * 10 + ч [I] - ' 0 ' ; 
    х = разреш + е; 
} 
INT F ( INT х) { возвращениех> п х: х + п;}
 недействительного Adde ( Int а, Int б) 
{ 
    веры [ ++ с] = б, NXT [с] = голова [а], глава [а] = с; 
} 
INT основных () 
{ 
    INT Т; 
    зсапЕ ( " % d " , & Т);
    в то время как (T-- ) 
    { 
        BOOL флаг = 0 ; 
        зсапЕ ( " % d% d " , & п, & м); 
        се = ш = CNT = 0 ; 
        MemSet (голова, 0 , SizeOf(голова));
        для ( INT I = 1 ; я <= т; ++ я) 
        { 
            INT num1, пит2; 
            INIT (num1); INIT (пит2); 
            Adde (е (num1), пит2); Adde (е (пит2), num1); 
        } 
        / * Для (INT = 1; г <= п << 1; ++ я) 
        { 
            соиЬ << << я ":"; 
            для (Int J = напор [I]; J; J = NXT [J]) 
                соиЬ << вер [J] <<»«; 
            соиЬ << епсИ; 
        } * / 
        MemSet (DFN, 0 , SizeOf (DFN));
        для ( INT I = 1 ; г <= п <; ++ я)
         , если (! Д.ф.н. [я]) Тарьян (я);
        // для (INT = 1; г <= п << 1; ++ я)
         //     соиЬ << I <<»«<< с [я] << епсИ; 
        для ( INT I = 1 ; г <= п; ++ я)
             , если (с [я] == с [г + п]) 
            { 
                пут ( " BAD " ); 
                флаг = 1 ; перерыв ; 
            } 
        Если путы ((флаг!) " ХОРОШО " ); 
    } 
    Возвращает  0 ; 
}

 

 

 

 

рекомендация

отwww.cnblogs.com/w19567/p/11239566.html