日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

hihoCoder #1467 : 2-SAT·hihoCoder音乐节

發布時間:2024/4/18 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hihoCoder #1467 : 2-SAT·hihoCoder音乐节 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目鏈接

描述

hihoCoder音樂節由hihoCoder贊助商大力主辦,邀請了眾多嘉賓和知名樂隊參與演出。

音樂會分為上午、下午兩場進行,主辦方指定了n首歌讓樂隊進行演唱。每首歌只會被演唱一次,要么在上午要么在下午。

參加音樂會的嘉賓們對于歌曲的演唱時間有一些要求。具體來說,每位嘉賓會指定兩首歌曲的演唱時間(上午或者下午)。如果最后實際的演出安排中,兩首歌都沒有達到嘉賓的要求,那么嘉賓就會對音樂節不滿意。如嘉賓A的要求是上午《我的滑板鞋》和下午《忐忑》,而最后的演出中上午沒有《我的滑板鞋》只有《忐忑》,下午沒有《忐忑》只有《我的滑板鞋》,那么嘉賓A是不滿意的。

音樂節主辦方自然希望使所有嘉賓滿意,但主辦方后來發現有可能不存在一種歌曲的安排方案滿足所有嘉賓,所以他們希望你判斷一下這種情況是否會發生。

輸入

輸入第一行包含一個數字 K,代表K組數據。(K≤50)

對于每一組數據,第一行包含兩個非負整數n和m(n≤100,m≤1000),代表有n首歌和m位嘉賓。

為了方便我們給予歌編號,編號分別從1 到n。接下的m行,每行都代表對應的嘉賓的喜好由一個英文字母(m或h)跟一個數字代表,如m1 代表這個評審喜歡第1首歌上午進行,而h2代表這個評審員喜歡第2首歌下午進行。

輸出

對于每一組數據,輸出一行,如果能滿足所有嘉賓的情況,輸出GOOD;否則輸出BAD。

樣例輸入

2
3 4
m3 h1
m1 m2
h1 h3
h3 m2
2 4
h1 m2
m2 m1
h1 h2
m1 h2

樣例輸出

GOOD
BAD

思路

2-SAT問題:一共有NNN個選項MMM個要求,求一種滿足所有約束條件的方案

  • 首先把NNN個選項拆成2N2N2N個分別表示相反的狀態
  • 然后根據約束條件建圖,例如(a(a(a or b)b)b) 我們就建這樣兩個邊:?a?a?a–>bbb?b?b?b–>aaa 表示當aaa不成立時bbb一定要成立 或者 bbb不成立aaa一定要成立,這樣就能保證至少有一個條件滿足,而且能能夠盡可能的滿足多個約束條件
  • 矛盾情況就是,最后求得的一個聯通分量里面包含有一個點的兩個狀態(這個狀態既要滿足又要不滿足)就是矛盾

我把輸入的數據按照字符串來處理剛開始一直WA,我在判斷數字的時候只截取了S[1],編號可是100啊!

#include <bits/stdc++.h> #define LL long long #define P pair<int, int> #include <time.h> #define lowbit(x) (x & -x) #define mem(a, b) memset(a, b, sizeof(a)) #define rep(i, a, n) for (int i = a; i <= n; ++i) const int maxn = 305; #define mid ((l + r) >> 1) #define lc rt<<1 #define rc rt<<1|1 using namespace std; int tot, len, ts; int low[maxn], dfn[maxn], Stack[maxn], inStack[maxn], belong[maxn]; vector<int> g[maxn];void tarjan(int x) {Stack[len++] = x;inStack[x] = 1;low[x] = dfn[x] = ++ts;for (int i = 0; i < (int)g[x].size(); ++i) {int y = g[x][i];if (!dfn[y]) tarjan(y), low[x] = min(low[x], low[y]);else if (inStack[y]) low[x] = min(low[x], low[y]);}if (dfn[x] == low[x]) {tot++;int top;do{top = Stack[--len];inStack[top] = 0;belong[top] = tot;}while (top != x);} }int main() { #ifndef ONLINE_JUDGE// freopen("in.txt", "r", stdin);// freopen("out.txt", "w", stdout); #endifios::sync_with_stdio(false);cin.tie(0); cout.tie(0);map<char, int> mi;mi['m'] = 0;int T;scanf("%d", &T);int n, m;while (T--) {scanf("%d %d", &n, &m);len = ts = tot = 0;mem(inStack, 0);mem(low, 0);mem(Stack, 0);mem(belong, 0);mem(dfn, 0);for (int i = 0; i < maxn; ++i) g[i].clear();mi['h'] = n; for (int i = 0; i < m; ++i) {int l, r, l1, r1; // l,r 表示一個約束條件 l1,r1 分表表示反狀態char x, y;scanf(" %c%d %c%d ", &x, &l, &y, &r);l += mi[x];r += mi[y];l1 = l > n ? l-n : l+n;r1 = r > n ? r-n : r+n;// 建圖g[l1].push_back(r);g[r1].push_back(l);} // tarjan for (int i = 1; i<= n*2; ++i) {if (!dfn[i]) tarjan(i);}int flag = 0;for (int i = 1; i <= n; ++i) {if (belong[i] == belong[i+n]) flag = 1;}puts(flag ? "BAD" : "GOOD");}return 0; }

總結

以上是生活随笔為你收集整理的hihoCoder #1467 : 2-SAT·hihoCoder音乐节的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 免费看裸体网站视频 | 黄色在线网 | 西比尔在线观看完整视频高清 | 黑人巨茎大战欧美白妇 | 国产女18毛片多18精品 | 中文字幕+乱码+中文字幕一区 | 日本在线一区 | 婷婷色基地| 香蕉视频链接 | av在线电影网站 | 人人干人人舔 | 欧美生活一级片 | 女优视频在线观看 | 成人午夜网址 | 久久bb| 国产喷水在线 | 韩毛片| 色97色| 亚洲激情欧美色图 | 国产chinesehd精品露脸 | 欧美成人精品一区二区综合免费 | 凹凸精品一区二区三区 | 久热这里只有 | 雪花飘电影在线观看免费高清 | 中文字幕亚洲日本 | 国精产品一二三区精华液 | a视频免费 | 成人片黄网站色大片免费毛片 | 午夜激情视频在线播放 | 狠狠网站 | 超碰香蕉 | 成人tiktok黄短视频 | 人人澡超碰碰 | 国产精品久久久久久久久久久新郎 | 成人福利一区二区三区 | 先锋成人| 被黑人啪到哭的番号922在线 | 国产精品视频在线播放 | 一级片黄色的 | 欧美狠狠| 又大又硬又爽免费视频 | 九九热在线免费视频 | 日本中文字幕在线免费观看 | 制服丝袜快播 | 绯色av一区二区三区高清 | 黑人激情视频 | 欧美交换国产一区内射 | 亚洲精品国产精 | av一片| 自拍偷拍亚洲区 | 91小宝寻花一区二区三区 | 国产精品888 | 艳妇臀荡乳欲伦交换在线看 | 亚洲系列中文字幕 | 操操综合 | 欧美成人小视频 | 午夜小视频在线 | 自拍第一区 | 午夜一区不卡 | 99久久免费国产精精品 | 一卡二卡三卡在线 | 一区二区三区四区亚洲 | 欧美精品国产一区二区 | 中文字幕亚洲区 | 欧美性猛交 | 99精品网站 | 中文字幕无码乱码人妻日韩精品 | 特黄三级又爽又粗又大 | 99爱精品 | 欧美日韩黄色一级片 | 不卡视频在线播放 | 波多野结衣简介 | 国产91免费看 | 国产69xx| 亚州精品毛片 | 国产啊v在线| 亚洲成人av网址 | 欧美日韩在线二区 | 美女毛片视频 | 久久精品在线免费观看 | 日本久久激情 | 先锋av资源在线 | 色婷婷婷| 日本成人在线网站 | 性开放视频 | 欧洲精品码一区二区三区免费看 | 黑人黄色录像 | 在线理论视频 | 久久96 | aaaa毛片| aav在线| 亚洲欧美日本一区 | 91香焦视频 | 成人区精品一区二区婷婷 | 极品久久久久 | 97中文字幕| 亚洲精品在线播放视频 | 国产欧美一区二区精品性色超碰 | 疯狂做受xxxx高潮人妖 |