輸入n行,m列。從每一行取乙個值,使他們的異或和》0,輸出tak和n個滿足條件的每一行的列數,如果不能構成,輸出nie。
/*
* created by hao on 2019/4/19.
* 輸入n行,m列。從每一行取乙個值,使他們的異或和》0。
* 輸出tak和n個滿足條件的每一行的列數,如果不能構成,輸出nie。
* 異或的一些性質
* 0^0=0,0^1=1,1^0=1,1^1=0
* 相同取0,相異取1
* 輸入a取0,則輸出p=輸入b
* 輸入a取1,則輸出p=輸入b的反
*/#include #include #include #include #include #include #include using namespace std;
#define ll long long
int main()
cur ^= a[i][0];
}//定義初始值,去判斷是否有符合條件的存在。
int px = -1, py = -1;
for (int i = 0; i < h && px == -1; ++i) }}
//根據前面的判斷分情況輸出
if (px >= 0 && py >= 0)
cout << endl;
}else
return 0;
}
CODEFORCES 535B 解題報告
仍然是水題,但是還是有可以說的地方。主要思路就是dfs可重排列。4,7組成的幸運數字,在n位數字的構造方式有2 n種,而資料是最多9位,則列舉只有512種,n 2的複雜度足矣。只列舉相應位數的4 7排列,前面的個數用2 n累加。只要遵循先選4再選7即可構造字典順序,然後查詢相應數。以下是 可直接ac...
CodeForces 816B(區間計數)
codeforces 816b 題意 給出n個區間和乙個k值,再給出q次詢問,每次詢問給出乙個區間,要求這個區間中的數在開始的n區間中出現次數不少於k次的數目。解法 將n個區間的每個數每出現一次就加一,最後統計q詢問的區間中不小於k的數的個數。寫這題主要是想講乙個常用的區間更新的方法,其實這題也可以...
Codeforces 965B 題解報告
當k 1時,取第乙個 的座標即可 當k 1時,需要求出每乙個點在上下左右四個方向所能到達的最遠處,記為up,down,left,right,再取上下方向和左右方向的和的最大值,即 max 0,up down k max 0,left right k n,k map int,input split a...