soho外貿(mào)建站拼多多seo 優(yōu)化軟件
原題鏈接
傳送門
題意
輸入三個(gè)數(shù)字a,b,c表示1,2,3的數(shù)目,也就是說(shuō)有a個(gè)1,b個(gè)2,c個(gè)3,每一次可以刪除兩個(gè)不同的數(shù)字,增加一個(gè)剩下的數(shù)字,比如說(shuō)刪除1和3,增加2,問(wèn)經(jīng)過(guò)多次操作,能不能使得所有數(shù)字只有1,或者只有2,只有3
代碼
#include<bits/stdc++.h>
using namespace std;int main()
{int t;scanf("%d",&t);while(t--){int a,b,c;scanf("%d%d%d",&a,&b,&c);if(a==b&&b==c) printf ("1 1 1\n");else{if((b+c)%2==0){printf("1 ");}else{printf("0 ");}if((a+c)%2==0){printf("1 ");}else{printf("0 ");}if((a+b)%2==0){printf("1\n");}else{printf("0\n");}}}return 0;
}
總結(jié)
1.因?yàn)橛⑽牡脑?#xff0c;讀了挺多遍才理解題目的意思
2.賽時(shí)我是根據(jù)樣例分析,猜出來(lái)的,賽時(shí)可以自己多模擬幾個(gè)樣例檢測(cè)自己猜的結(jié)論是否具有普適性
3.根據(jù)奇偶性分析,刪去的兩個(gè)數(shù)字奇偶性有兩種情況,第一種情況,都是奇數(shù),第二種情況,都是偶數(shù),(寫到這里想起來(lái),一道題寫完之后最好馬上寫一下總結(jié),不然,之后補(bǔ)總結(jié),題目積累多了,就不想補(bǔ)了,有幾個(gè)題目就不想寫了)
4.有一個(gè)性質(zhì),刪去1和2,a和b的和的奇偶性不會(huì)發(fā)生變化,a和b的和每一次都是減小2的倍數(shù),如果和是奇數(shù),表示原來(lái)的兩個(gè)數(shù)字分別是奇數(shù)和偶數(shù),也就是說(shuō)奇偶校驗(yàn)不一致,假設(shè)最后要得到只剩下數(shù)字1,就要求2和3最后的數(shù)量都等于0,假設(shè)2和3的數(shù)量的奇偶校驗(yàn)不一致,無(wú)法使得最后滿足要求,所以b和c的奇偶校驗(yàn)必須一致才能最后只剩下1
5.背后的數(shù)學(xué)原理是:經(jīng)過(guò)一次操作之后什么不會(huì)發(fā)生變化,考慮只有1 剩下的情況,經(jīng)過(guò)一次操作,a會(huì)增加1,b和c都會(huì)減小1,b+c的奇偶性不會(huì)發(fā)生變化,因?yàn)槊恳淮味际菧p小2,b和c最終都要減小到0,表示兩個(gè)數(shù)字的奇偶性相同,每一次操作都是減小1,b+c的奇偶性必須是偶數(shù)才行
6.總的來(lái)說(shuō)就是,b+c的奇偶性不會(huì)發(fā)生變化,b+c最后要變成0,所以b+c必須要是偶數(shù)
7.考慮到上述情況即可解決該題,參考:官方題解,其他選手代碼,以及該題解傳送門