栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 1130 Ouroboros Snake

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 1130 Ouroboros Snake

#include <iostream>#include <cstdio>#include <memory.h>int main(){    int n , k;    while ( scanf("%d%d", &n, &k) && (n || k) ){        if ( 1 == n ){ printf("%dn", k); continue;        }        char snake[20000];        memset( snake, 0, sizeof(snake) );        int number(0);        int mask((1 << ( n - 1 )) - 1);        int pos(0), node(0);        int i(1), j(mask);        for ( ; i != n; ++i ){ snake[j] = 1; j = ( j << 1 )&mask        }        while (true){ if ( node == mask){     number = ( node << 1 ) + 1;     break; } number = ( node << 1 ); if (snake[node])     ++number; snake[node] = (!snake[node]); node = number&mask if ( pos ==k )     break; ++pos;        }        while ( pos != k ){ number = ( number&mask ) << 1; ++pos;        }        printf("%dn", number);    }    return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/379054.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号