1. 程式人生 > >nowcoder 2017年浙江工業大學大學生程式設計迎新賽預賽-慄醬的異或和

nowcoder 2017年浙江工業大學大學生程式設計迎新賽預賽-慄醬的異或和

時間限制:C/C++ 1秒,其他語言2秒
空間限制:C/C++ 131072K,其他語言262144K
64bit IO Format: %lld

題目描述

        慄醬特別喜歡玩石子游戲,就是兩個人玩,有n堆石子,每堆有ai個,每次一個人可以輪流選擇任意一堆,取走任意多的石子(但不能不取),誰先不能取誰輸。
        慄醬覺得這個遊戲很有趣,知道有一天,小太陽告訴她,其實如果兩個人足夠聰明,遊戲的結局一開始就已經註定。
        慄醬是一個冰雪聰明的女孩子,她不相信,希望你演示給她看。

輸入描述:

多組資料,資料第一行T表示資料組數。
每組資料第一行一個n,k表示一共有n堆石子,接下來你試圖從第k堆開始取,從第二行開始,每隔一個空格一個第i堆石子的數量ai。
n≤105
,  ai≤109

輸出描述:

輸出“Yes”或“No”代表從該堆開始取是否可以必勝(如果足夠聰明)。
示例1

輸入

2
3 2
1 2 3
2 1
2 1

輸出

No
Yes

說明

小太陽哥哥說,如果想贏,就試圖把每堆石子數量的異或和變為0,最終便可以獲得勝利,不相信自己證一下。

備註:

小資料較多,不要使用memset,可能導致TLE。

分析:

瞅第一眼的時候覺得像尼姆博弈,但和他的模板套不上,看了大牛的題解也就一句話:第一步取子操作收到了限制,判斷先手能否使得總異或值為0。即第K堆的元素是否多於剩下的所有有元素異或之和。有點懵,因為一般涉及到博弈的問題,我都是套模板,除了巴什博弈理解了,其他的好像還是迷糊的,對於這句話,我理解了好久,就在剛剛再次開啟電腦時好像明白了,因為先手必須從第 k 堆石子裡面取,所以如果其他元素的異或和 ans 小於第 k 堆石子的話,那麼可以拆分第 k 堆的石子,總有辦法讓與 ans 異或成 0 ,所以我們只要求出 ans,再與第 k 堆石子作比較即可。

#include<iostream>
#include<stdio.h>
using namespace std;
long long int a[100005];
int main()
{
    int T;
    int n;
    int k;
    scanf("%d", &T);
    while (T--)
    {
        scanf("%d", &n);
        scanf("%d", &k);
        long long int ans = 0;
        for (int i = 1; i <= n; i++)
        {
            scanf("%lld", &a[i]);
            if (i != k)
                ans = ans^a[i];
        }
        if (a[k]>ans)
            printf("Yes\n");
        else
            printf("No\n");

    }
    return 0;
}


相關推薦

nowcoder 2017浙江工業大學大學生程式設計迎新預賽-

時間限制:C/C++ 1秒,其他語言2秒空間限制:C/C++ 131072K,其他語言262144K64bit IO Format: %lld 題目描述         慄醬特別喜歡玩

2017浙江中醫藥大學大學生程式設計競賽

時間限制:C/C++ 1秒,其他語言2秒空間限制:C/C++ 131072K,其他語言262144K64bit IO Format: %lld 題目描述 cc最近收到了好多禮物,對著滿地大小

2017浙江中醫藥大學程式設計競賽 Solution

訓練地址 A: 樹剖板子題 求最小值的時候要注意值是不是有負數,如果有,初值要置為$-INF$ 1 #include <bits/stdc++.h> 2 using namespace std; 3 4 #define N 30010 5 #d

浙江中醫藥大學大學生程式設計競賽problemC Wpremig的三角形(二分計算幾何)

這題就太有說法了…像我這種萌新看完之後完全沒思路,我能回爐從造嗎 這是一道好題,看題解全程跪著看完的,防止忘了還是寫個… 如果想面積最大,那麼每兩個三角形相交的位置和每邊緣的三角形與邊界相交的位置一樣高,設這個高度為mid,mid下面是一個矩形,答案就是高度的三角形面積和加上這個矩形面積

[2017第0屆浙江工業大學之江學院程序設計競賽決賽 I] qwb VS 去汙棒(並查集,按秩合並,最小生成樹,LCA)

之間 i++ ont 題意 倍增 題目 while 並查集 工業 題目鏈接:http://115.231.222.240:8081/JudgeOnline/problem.php?cid=1005&pid=8 題意:中文題面。 手動畫一下會發現所求邊必然存在於最大生

2017浙江工業大學-校決賽 竹之書

rip += ++ end 現在 長度 clas 解法 long Description 由於某些原因菲莉絲拿到了賢者之石,所以好像變得很厲害了好像變得很厲害的菲莉絲想要煉成幻想鄉,其中有一個原料是稗田一族對幻想鄉歷史的記錄。現在菲莉絲拿到了一個被某只魔粘性精神體加密過的

2017浙江工業大學-校決賽 小M天平

++ tor mes bsp %d tac ont i++ 工業 Description 小M想知道某件物品的重量,但是擺在他面前的只有一個天平(沒有遊標)和一堆石子,石子可以放左邊也可以放右邊。他現在知道每個石子的重量。問能不能根據上述條件,能不能測出所問的重量。 I

2017浙江工業大學-校決賽 猜猜誰是我

簡單 矩陣 水平 個人 tro 個數 struct ostream ace Description 女神YSJ給Martin發了一個視頻。“猜猜裏面哪個是我。” 女神說。作為一個臉盲,再加上多年不見,Martin已經完全不知道女神長成了什麽樣子,他表示完全認不出來。好在M

2017浙江工業大學-校決賽 畫圖遊戲

對手 image itl png ont 畫圖 pre space script Description forever97和pikapikachu在玩一種畫圖遊戲,兩人相互往一個n*m大的矩形裏畫半徑為r的圓,任意兩圓不能相交,圓與矩形也不能相交,不能再畫的人輸。現在

2018廣東工業大學文遠知行杯新生程式設計競賽 1013 在那天的雪停息之前β

Problem Description In the world line 1.048596% 麻衣的鮮血逐漸將潔白而冰冷的絨毯染成鮮紅...... 鮮紅...... 究竟是多少次看到這樣的情境呢?梓川咲太的心已經麻木了。 為了挽救在12月24四日為了梓川咲太而獻身的櫻島麻衣。在牧之原翔子的

2018廣東工業大學文遠知行杯新生程式設計競賽 1012 只有我不在的世界β

  Problem Description In the world line 1.048596% 現在可不是失落的時候,自己還有能夠依靠的人。 麻衣一定會找到我的——梓川咲太如此堅信著。 所以,他不會就這樣作為一個透明人活下去,他一定會很快回到原來的生活中,他必須按照原來的步

2018廣東工業大學文遠知行杯新生程式設計競賽 1010 溫柔的手彼此相系β

Problem Description In the world line 1.048596% 回到了比過去還遙遠的過去,拯救了牧之原翔子和櫻島麻衣後,世界重歸平靜。 時間轉眼就到了正月新年。梓川咲太卻頗不寧靜。 “有的時候記住一個電話號碼的方法即使把他寫成一個容易記住的單詞或者短語。比如說

2018廣東工業大學文遠知行杯新生程式設計競賽 1007 活在無盡夢境的後續 β

Problem Description In the world line 1.048596% ——咲太小弟,我認為啊,人生是為了變溫柔而存在的。 ——為了達到『溫柔』這個目標,我努力活到現在。 在梓川花楓患有解離性障礙以後,失去了所有的記憶,忘記了自己是誰。 “我們會把自己的知覺,意識與記

2018廣東工業大學文遠知行杯新生程式設計競賽 1006 那天的延長線在今天β

Problem Description In the world line 1.048596% “梓川......今天是第幾次了?” 雙葉理央正在擺弄虹吸式咖啡壺,她看梓川咲太的目光已經不是傻眼或者嫌煩,而是帶著悲憫。 “這次不是青春期症候群的事情,而是這個。”梓川拿出了『翔子小姐』的信件。

2018廣東工業大學文遠知行杯新生程式設計競賽 1004 明日會吹明日的風β

Problem Description In the world line 1.048596% “為了幫助笨蛋梓川利用程式來解決青春期症候群的問題,我覺得有必要你給你普及一下C語言的記憶體知識。” 今天的雙葉理央也依然在理科實驗室用燒杯煮咖啡。 “我已經幾年沒有用過這個東西,還被人可憐的說是

2018廣東工業大學文遠知行杯新生程式設計競賽 1001 文遠知行β

  Problem Description “上一個國家的人真的是好心呢。” 在山脈群之間,是一片寬廣平坦的大地。被草木覆蓋的綠意,順著灰色的山間延伸。 摩托車(注:兩輪的車子,尤其是指不在天空飛行的交通工具)飛馳在道路上。 騎士年約十五、六歲,有著一頭黑色短髮及炯炯有神的臉龐

【2018廣東工業大學文遠知行杯新生程式設計競賽】灰暗而空虛的景色β

http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1009&cid=832 Problem Description In the world line 1.048596% “雪啊。” “雪是紅色的。” 像壞掉的復

2017西南民族大學程式設計競賽-網路同步

時間限制:C/C++ 1秒,其他語言2秒空間限制:C/C++ 131072K,其他語言262144K64bit IO Format: %lld 題目描述 現在有一個N*M的矩形星圖。其中包括恆星和黑洞。恆星可以向上、下、左、右發射光束,且允許光束從其中穿過;黑

2018浙江中醫藥大學程式設計競賽 L Wpremig's Niuniu

題意: 規則: 五張牌均嚴格小於5,五張牌的和小於等於10,得60分。 五張牌都是$J,Q,K$,得50分。 五張牌有四張牌相同,得40分。 如果其中三張牌的和是10的倍數,並且其他兩張牌的和是10的倍數,得30分 如果其中三張牌的和是10的倍數,並且其他兩張牌的和對於10的餘數大於等於7,得$2

2017西南民族大學程序設計競賽-網絡同步(代碼)

true can 而且 pri 排名 scan namespace and define 20598954 nmphy D 答案正確 8 512 486 C++ 2017-12-30 14:30:35 205987