C 之路高階 bzoj2199(奶牛議會)

2022-08-16 03:39:12 字數 2234 閱讀 3993

f.a.qs

home

discuss

problemset

status

ranklist

contest

modifyuser

gryz2016

logout

捐贈本站

notice:由於本oj建立在linux平台下,而許多題的資料在windows下製作,請注意輸入、輸出語句及資料型別及範圍,避免無謂的re出現。

time limit: 10 sec  memory limit: 259 mb

submit: 258  solved: 162

[submit][status][discuss]

由於對farmer john的領導感到極其不悅,奶牛們退出了農場,組建了奶牛議會。議會以「每頭牛 都可以獲得自己想要的」為原則,建立了下面的投票系統: m只到場的奶牛 (1 <= m <= 4000) 會給n個議案投票(1 <= n <= 1,000) 。每只 奶牛會對恰好兩個議案 b_i and c_i (1 <= b_i <= n; 1 <= c_i <= n)投 出「是」或「否」(輸入檔案中的'y'和'n')。他們的投票結果分別為vb_i (vb_i in ) and vc_i (vc_i in )。 最後,議案會以如下的方式決定:每只奶牛投出的兩票中至少有一票和最終結果相符合。 例如bessie給議案1投了贊成'y',給議案2投了反對'n',那麼在任何合法的議案通過 方案中,必須滿足議案1必須是'y'或者議案2必須是'n'(或者同時滿足)。 給出每只奶牛的投票,你的工作是確定哪些議案可以通過,哪些不能。如果不存在這樣乙個方案, 輸出"impossible"。如果至少有乙個解,輸出: y 如果在每個解中,這個議案都必須通過 n 如果在每個解中,這個議案都必須駁回 ? 如果有的解這個議案可以通過,有的解中這個議案會被駁回 考慮如下的投票集合: - - - - - 議案 - - - - - 1 2 3 奶牛 1 yes no 奶牛 2 no no 奶牛 3 yes yes 奶牛 4 yes yes 下面是兩個可能的解: * 議案 1 通過(滿足奶牛1,3,4) * 議案 2 駁回(滿足奶牛2) * 議案 3 可以通過也可以駁回(這就是有兩個解的原因) 事實上,上面的問題也只有兩個解。所以,輸出的答案如下: yn?

* 第1行:兩個空格隔開的整數:n和m * 第2到m+1行:第i+1行描述第i只奶牛的投票方案:b_i, vb_i, c_i, vc_i

* 第1行:乙個含有n個字元的串,第i個字元要麼是'y'(第i個議案必須通過),或者是'n' (第i個議案必須駁回),或者是'?'。 如果無解,輸出"impossible"。

3 41 y 2 n

1 n 2 n

1 y 3 y

1 y 2 y

yn?gold

題解:2-set問題,y和n都考慮一下,最後check一下。

**:

1 #include2 #include3 #include4

#define maxn 1000056

using

namespace

std;

78 inline int

read()916

17int

get()

1825

26struct

ss27

e[maxn];

3132

inthead[maxn],n,m,ans[maxn],cnt;

33bool

kg[maxn];

34char ch[4]=;

35int insert(int u,int

v)36

3940

void dfs(int

x)41

4647

bool check(int

x)48

5556

intmain()

5771

for (int i=1;i<=n;i++)

7276

else

if(p&&q)ans[i]=0;77

else

if(!p)ans[i]=1;78

else ans[i]=2;79

}80for(int i=1;i<=n;i++)

81 printf("%c"

,ch[ans[i]]);

82return

0;

83}

8485

86

[submit][status][discuss]

BZOJ 2199奶牛議會 2 SAT

傳送門 bzoj2199 許可權題?沒關係,你洛上也有 洛谷 usaco11jan 大陸議會the continental cowngress 一道2 sat簡單題。只需要用到2 sat連有向邊的操作,拓撲排序和縮點都不需要,直接暴力找 非常之暴力 include using namespace s...

C 之路高階 bzoj2879(美食節)

time limit 10 sec memory limit 512 mb submit 1304 solved 702 submit status discuss 輸入檔案的第1行包含兩個正整數n和m,表示菜品的種數和廚師的數量。第2行包含n個正整數,其中第i個數為pi,表示點第i種菜品的人數。接...

c 之路高階 bzoj3343(教主的魔法)

f.a.qs home discuss problemset status ranklist contest modifyuser gryz2016 logout 捐贈本站 notice 由於本oj建立在linux平台下,而許多題的資料在windows下製作,請注意輸入 輸出語句及資料型別及範圍,避...