信息学奥赛一本通(1211:判断元素是否存在)
生活随笔
收集整理的這篇文章主要介紹了
信息学奥赛一本通(1211:判断元素是否存在)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1211:判斷元素是否存在
時間限制: 1000 ms ??? ??? 內存限制: 65536 KB
提交數: 12597 ??? 通過數: 4804
【題目描述】
有一個集合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【分析】
? ? ? ? 樣例數據為例,0是集合中的數,判斷22是否是集合中的數?依題意,0是集合中的數,則2y+1和3y+1也是集合中的數。即1是集合中的數,繼續,3和4也是集合中的數,同理,7、10和9和13也是集合的數,同理,15、22、21、19也屬于該集合。
【參考代碼】
#include <stdio.h> #define N 100010int is_include(int k,int x) {if(k>x)return 0;else if(k==x)return 1;elsereturn is_include(2*k+1,x) || is_include(3*k+1,x); } int main() {int k,x;scanf("%d,%d",&k,&x);if(is_include(k,x))printf("YES\n");elseprintf("NO\n");return 0; }http://ybt.ssoier.cn:8088/problem_show.php?pid=1211
?
總結
以上是生活随笔為你收集整理的信息学奥赛一本通(1211:判断元素是否存在)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛一本通 1026:空格分隔输出
- 下一篇: 信息学奥赛一本通(1185:单词排序)