意識到圖中只有兩種不同的菜系:滿和漢
並且檢查員類似於乙個約束,可以發現這就是乙個2-sat模型,滿和漢分別對應true和false
由於只是檢查可行性,只需要判斷存在點的true個false存在同乙個強連通分量即可。
#include #include#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
#define for(i, x, y) for(int i=x;i<=y;i++)
#define _for(i, x, y) for(int i=x;i>=y;i--)
#define mem(f, x) memset(f,x,sizeof(f))
#define sca(x) scanf("%d", &x)
#define sca2(x,y) scanf("%d%d",&x,&y)
#define sca3(x,y,z) scanf("%d%d%d",&x,&y,&z)
#define scl(x) scanf("%lld",&x);
#define pri(x) printf("%d\n", x)
#define prl(x) printf("%lld\n",x);
#define clr(u) for(int i=0;i<=n;i++)u[i].clear();
#define ll long long
#define ull unsigned long long
#define mp make_pair
#define pii pair#define pil pair#define pll pair#define pb push_back
#define fi first
#define se second typedef vector
vi;int read()
while (c >= '
0'&&c <= '
9')return x*f;}
const
double eps = 1e-9
;const
int maxn = 210
;const
int maxm = 2010
;const
int inf = 0x3f3f3f3f
;const
int mod = 1e9 + 7
; int
n,m,k;
struct
edgeedge[maxm
<< 2
];int
head[maxn],tot;
intlow[maxn],dfn[maxn],stack[maxn],belong[maxn];
intindex,top,scc;
bool
instack[maxn];
void
init()
tot = scc = top = index = 0;}
void add(int u,int
v)void tarjan(int
u)else
if(instack[v] && low[u] > dfn[v]) low[u] =dfn[v];
}if(low[u] ==dfn[u])
while(v !=u);
}}int
main()
for(int i = 1; i <= (n << 1) ; i ++) if(!dfn[i]) tarjan(i);
int flag = 1
;
for(int i = 1; i <= n && flag; i ++)
if(flag) puts("
good");
else puts("
bad"
); }
return0;
}
JSOI2010 滿漢全席
time limit 10 sec memory limit 64 mb submit status discuss 滿漢全席是中國最豐盛的宴客菜餚,有許多種 同的材 透過滿族或是漢族的 方式,呈現在 繁多的菜色之中。由於菜色眾多而繁雜,只有極少 博學多聞技藝高超的廚師能夠做出滿漢全席,而能夠烹飪出...
JSOI2010 滿漢全席
洛谷 p4171 傳送門 bzoj1823 傳送門 2 sat裸題。簡單講一下2 sat 首先把題目給出的種種限制轉換為乙個圖。以這道題來說,每種菜看作是兩個點,乙個點代表做成漢式,另乙個代表做成滿式。然後考慮約束條件 比如 評委要求a做成漢式,b做成滿式。那麼如果a做成滿式,b就一定是滿式 同理,...
JSOI2010 滿漢全席 2 SAT
傳送門 題目鏈結 滿漢全席 題目描述 滿漢全席是中國最豐盛的宴客菜餚,有許多種 同的材 透過滿族或是漢族的 方式,呈現在 繁多的菜色之中。由於菜色眾多而繁雜,只有極少 博學多聞技藝高超的廚師能夠做出滿漢全席,而能夠烹飪出經過專家認證的滿漢全席,也是中國廚師最大的榮譽之一。世界滿漢全席協會是由能夠 滿...