fjwc2019 D4T1 循环流
假的网络流,其实是O(1)算法
手画n个图后,你会发现只要分成几种情况讨论讨论就得了。
当$a==1$时显然不存在。
当$a!=1$时
如果$n==2$,显然$a$必须为偶数:$a==0$时,$b$必须为偶数;否则需要$a+b>=2$。
$n>2$时,特判一下$(b==n||a==n)$的成环情况
剩下的$a+b>n$即为合法。
总之画画图找找规律.................
(调试没删直接GG)
#include<iostream> #include<cstdio> using namespace std; int Q,T,n,a,b,now; int main(){ freopen("flow.in","r",stdin); freopen("flow.out","w",stdout); scanf("%d%d",&Q,&T); while(T--){ scanf("%d%d%d",&n,&a,&b); now=0; if(a!=1){ if(n<=2){ if(a==0&&b%2) ; else if(a%2==0) now=(a+b>=2); }else now=(a+b>n||a==n||b==n); }printf("%d\n",now); }return 0; }