根源思想:贪心
是否有必胜策略,取决于环上所有非0链的长度。因为对于一条非0链,只有当其长度为奇数时先手的人有必胜策略。
由此,统计所有非0链的奇偶性。
特别的,由于读入时已经破环为链了,需要再处理下断开的部分。就是要从头和尾同时计一次非0链长度。
原因:不妨感性的思考一下,如果你不全部取走,我走反向边取走剩下的所有边权,你就被堵在里边了
代码巨短,如下
var a:array[1..20] of longint; n,i,j,min1,min2:longint; begin readln(n); for i:=1 to n do read(a[i]); for i:=1 to n do if(a[i]=0)then begin min1:=i-1;break;end; for i:=n downto 1 do if(a[i]=0)then begin min2:=n-i;break;end; if(min1 mod 2=0)and(min2 mod 2=0)then writeln('NO')else writeln('YES'); end.