4.H - 組合

題目連接:http://acm.hust.edu.cn/vjudge/contest/125308#problem/H

題目大意:
下面是一個二人小游戲:桌子上有M堆撲克牌;每堆牌的數量分別為Ni(i=1…M);兩人輪流進行;每走一步可以任意選擇一堆并取走其中的任意張牌;桌子上的撲克全部取光,則游戲結束;最后一次取牌的人為勝者。?
現在我們不想研究到底先手為勝還是為負,我只想問大家:?
——“先手的人如果想贏,第一步有幾種選擇呢?”?

這是一個尼姆博弈的問題,涉及到了一個運算Xor(異或運算),Xor是位運算的一種,1Xor1=0,1Xor0=1,0Xor1=1.為運算可以用于兩個數之間,其定義就是把兩個數轉化成二進制,然后一位一位的進行位運算。c++中用^表示。例如:1^5=(001)^(101)=100(4)。Xor具有交換律,結合律, 而且是本身的逆運算(a^b^a=b),滿足消去律

從一個非奇異局勢向一個奇異局勢轉換的方式可以是:
1)使 a = c(+)b
2)使 b = a(+)c
3)使 c = a(+)b

?

#include<iostream>
#include<cstdio>
using namespace std;
#define N 105
int d[N];
int main()
{int n;while(scanf("%d",&n)&&n!=0){int m=0,sum=0;for(int i=1;i<=n;i++){scanf("%d",&d[i]);m=m^d[i];}//if(m==0) printf("奇異局勢")for(int i=1;i<=n;i++){
          //這里有個括號
if((m^d[i])<d[i])
                  //如果m^d[i]<d[i]說明了的d[i]中可以取出一個數sum++; //使得的d[i] 變為m^d[i],成為奇異局勢 }printf("%d\n",sum);}return 0; }

?

轉載于:https://www.cnblogs.com/Twsc/p/5738327.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/256668.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/256668.shtml
英文地址,請注明出處:http://en.pswp.cn/news/256668.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

結構體指針需要申請指針內存,結構體對象不需要申請對象內存

struct frame_info { char* data;//圖像數據 int bufsize;//圖像大小 }&#xff1b; 1、struct frame_info* finfoDT new struct frame_info; finfoDT->data new 1280*720 2、struct frame_info finfoDT new struct frame_info; finfoDT.data new 1280*720

圖論——連通圖

Tyvj 2059 元芳看電影 描述 神探狄仁杰電影版首映這天&#xff0c;狄仁杰、李元芳和狄如燕去看電影。由于人實在是太多了&#xff0c;入場的隊伍變得十分不整齊&#xff0c;一個人的前面可能會出現并排的好多人。“元芳&#xff0c;這隊伍你怎么看&#xff1f;”“大人&#xf…

linux-ftools查看Linux 的cached里面有哪些內容

最近&#xff0c;公司有幾臺java服務器經常出現can not allocate memory 的情況。導致SSH登錄失敗。 因此&#xff0c;有必要做點什么。 我們可以使用linux-ftools查看Linux 的cached里面有哪些內容&#xff08;工具: https://code.google.com/p/linux-ftools/&#xff09;&…

matlab常用函數——軟件常用函數

一、軟件操作函數 1)命令窗口函數: clc:清空命令窗口,使用向上箭頭翻看命令。 open:打開文件,文本文件(*.doc),可執行文件(*.exe),圖形文件(*.fig),超文本文件(*.html,*.htm),MATLAB數據庫文件(*.mat),simulink模型文件*.mdl),MATLAB p文件(*.p),…

stanford corenlp的TokensRegex

最近做一些音樂類、讀物類的自然語言理解&#xff0c;就調研使用了下Stanford corenlp&#xff0c;記錄下來。 功能 Stanford Corenlp是一套自然語言分析工具集包括&#xff1a; POS(part of speech tagger)-標注詞性NER(named entity recognizer)-實體名識別Parser樹-分析句子…

將Linux系統下交叉編譯的依賴庫推到ARM平臺下無法建立以來關系解決

問題&#xff1a;平常把opencv庫使用源碼交叉編譯好之后&#xff0c;從windows推到飛機里發現&#xff0c;該庫的依賴關系都沒有了&#xff0c;導致程序運行的時候報該庫大小有問題 解決辦法&#xff1a; 1、將linux下的庫推到ARM平臺中的一個文件夾中&#xff0c;然后將ARM平臺…

Java:switch語句例子

1、輸入一個名次&#xff0c;第1&#xff5e;4名&#xff0c;分別稱為冠軍、亞軍、季軍、殿軍&#xff0c;5名及5名以上&#xff0c;稱為其他名次。 import java.util.Scanner; public class switch1 {public static void main(String[] args){Scanner snew Scanner(System.in)…

SQL計算100以內的質數(可以把100換成任意的整數)

declare i int --定義局部變量ideclare j int --定義局部變量jset i1 --給變量i賦值while i<100 --最外層while循環控制計算20以內的質數&#xff0c;每循環一次提供一個數&#xff0c;判斷它是不是質數begin --最外層while循環開始set j1 --給變量j賦…

matlab常用函數——數據類型函數

三、基本數據類型函數 1)數值函數 double:轉換為雙精度浮點數 single:轉換為單精度浮點數 typecast:在不改變數據大小情況下轉換數據類型 Y=typecast(X,type) type可選范圍:uint8、int8、uint16、int16、uint32、int32、uint64、int64、single、double arrayfun:把函數…

Courses hdu 1083(匹配)

http://acm.hdu.edu.cn/showproblem.php?pid1083 題意&#xff1a;一共有N個學生跟P門課程,一個學生可以任意選一門或多門課,問是否達成: 1.每個學生選的都是不同的課(即不能有兩個學生選同一門課) 2.每門課都有一個代表(即P門課都被成功選過) 今天學姐講匹配時講的題目&#…

進程編譯連接動態庫,需要將動態庫改為lib***.so

1、本身該庫可能編譯成npuDetect.so,但是需要改其名字為libnpuDetect.so,CMakelists才能找到該庫 2、進程中連接動態庫&#xff0c;如果該庫還依賴別的動態庫&#xff0c;則需要繼續把其他的庫也要連接進來

Drbd+Pacemaker實現高可用

What is Pacemaker? Pacemaker是一個集群資源管理器。它利用集群基礎構件&#xff08;OpenAIS 、heartbeat或corosync&#xff09;提供的消息和成員管理能力來探測并從節點或資源級別的故障中恢復&#xff0c;以實現群集服務&#xff08;亦稱資源&#xff09;的最大可用性。 前…

matlab常用函數——矩陣函數

五、數組和矩陣函數 1)數組基本函數 display:顯示字符或者數組 isempty :判斷數組是否為空,空返回1,不空返回0 isequal :判斷數組是否相同 (認為NaN不同) isequalwithequalnans:判斷數組是否相同,把NaN看成相同的數 isfinite :判斷數組元素是否為有限數 isfloat…

記錄下面試中的回答的不好的問題

1 伙伴系統在linux中的作用&#xff0c;具體咋回事 2 tcp擁塞控制 滑動窗口 3 linux sed&#xff0c;awk的具體使用 4 ftp哪幾種模式 5 中斷與輪詢 6 C stl的vector是怎么是實現的 7 I/O多路復用是怎么回事&#xff0c;select(),epoll()具體怎么回事。 一個文件中每行一個單詞&…

Python 字符串操作(string替換、刪除、截取、復制、連接、比較、查找、包含、大小寫轉換、...

去空格及特殊符號 s.strip().lstrip().rstrip(,) 復制字符串 #strcpy(sStr1,sStr2)sStr1 strcpysStr2 sStr1 sStr1 strcpy2print sStr2 連接字符串 #strcat(sStr1,sStr2)sStr1 strcatsStr2 appendsStr1 sStr2print sStr1 查找字符 #strchr(sStr1,sStr2)# < 0 為未找到…

周賽題解

A - An easy problemTime Limit:3000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status Practice HDU 2601Description When Teddy was a child , he was always thinking about some simple math problems ,such as “What it’s 1 cup of wa…

matlab常用函數——數學函數

六、基本數學函數 1)基本運算符 +:加法運算符 -:減法運算符 *:矩陣乘法 .*:數組乘法 /:斜杠或者矩陣右除 B/A等于公式B*inv(A) ./:數組右除 A./B等于A(i,j)/B(i,j) \:反斜杠或者矩陣左除 A\B等于inv(A)*B .\:數組左除 A.\B等于B(i,j)/A(i,j) ^…

內存容量出現異常的解決辦法

【鄙視360人工服務工程師 笨死你!】 如果哪天的內存容量突然出現了異常 而且發現只有一半可以使用的時候 不是內存出現了問題 而是設置的問題。 【win 7 win 8 win 10通用的解決辦法】 問題描述&#xff1a; 我是win 10 64位系統 內存容量突然只有一半了 打開我的電腦的設置看了…

Oracle 變量綁定與變量窺視合集系列一

《Oracle 變量綁定與變量窺視合集》 數據庫環境 LEO1LEO1> select * from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production PL/SQL R…