糯米

TI DaVinci, gstreamer, ffmpeg
随笔 - 167, 文章 - 0, 评论 - 47, 引用 - 0
数据加载中……

POJ 1063 Flip and Shift 智力题

一个小游戏。挺好玩的。
http://acm.pku.edu.cn/JudgeOnline/problem?id=1063

flip 和 shift 两种操作结合起来可以将任意的黑子向任意方向移动偶数步。

分两种情况:


1.有奇数个槽时:
位于奇数位置的黑子也可以移动到偶数位置中,因为可以两个方向移动。
所以可以将任意黑子移动到任意位置。
所以无论什么情况都能达到goal

2.有偶数个槽时:
位于奇数位置的黑子永远位于奇数位置
位于偶数位置的黑子永远位于偶数位置
所以奇数位置的黑子和偶数位置的黑子相差1的时候可以达到goal


#include <stdio.h>
#include 
<math.h>

int main()
{
    
int t, n, i, j, arr[2];

    freopen(
"e:\\test\\in.txt""r", stdin);

    scanf(
"%d"&t);
    
while (t--{
        scanf(
"%d"&n);
        arr[
0= arr[1= 0;
        
for (i = 0; i < n; i++{
            scanf(
"%d"&j);
            arr[i 
& 1+= j;
        }

        printf(
"%s\n", (n & 1|| abs(arr[0- arr[1]) <= 1 ? "YES" : "NO");
    }


    
return 0;
}



posted on 2010-02-14 01:12 糯米 阅读(448) 评论(0)  编辑 收藏 引用 所属分类: POJ


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理