判断元素是否存在(信息学奥赛一本通-T1211)
生活随笔
收集整理的這篇文章主要介紹了
判断元素是否存在(信息学奥赛一本通-T1211)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【題目描述】
有一個集合M是這樣生成的:(1) 已知k是集合M的元素; (2) 如果y是M的元素,那么,2y+1和3y+1都是M的元素;(3) 除了上述二種情況外,沒有別的數能夠成為M的一個元素。
問題:任意給定k和x,請判斷x是否是M的元素。這里的k是無符號整數,x 不大于 100000,如果是,則輸出YES,否則,輸出NO。
【輸入】
輸入整數 k 和 x, 逗號間隔。
【輸出】
如果是,則輸出 YES,否則,輸出NO。
【輸入樣例】
0,22
【輸出樣例】
YES
【源程序】
#include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #define N 1000010 using namespace std; int k; int judge(int x) {if(x==k)return 1;if((x-1)%3==0&&(x-1)%2==0)return (judge((x-1)/3)||judge((x-1)/2));if((x-1)%3==0)return judge((x-1)/3);if((x-1)%2==0)return judge((x-1)/2);return 0; } int main() {int x;scanf("%d,%d",&k,&x);if(judge(x))cout<<"YES"<<endl;elsecout<<"NO"<<endl;return 0; }?
總結
以上是生活随笔為你收集整理的判断元素是否存在(信息学奥赛一本通-T1211)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Pell数列(信息学奥赛一本通-T120
- 下一篇: 青蛙的约会(洛谷-P1516)