zoukankan      html  css  js  c++  java
  • 2015 HUAS Summer Training#1~C

    10935 Throwing cards away I Given is an ordered deck of n cards numbered 1 to n with card 1 at the top and card n at the bottom. The following operation is performed as long as there are at least two cards in the deck:

    Throw away the top card and move the card that is now on the top of the deck to the bottom of the deck.

    Your task is to find the sequence of discarded cards and the last, remaining card.

    Input

    Each line of input (except the last) contains a number n ≤ 50. The last line contains ‘0’ and this line should not be processed.

    Output

    For each number from the input produce two lines of output. The first line presents the sequence of discarded cards, the second line reports the last remaining card. No line will have leading or trailing spaces. See the sample for the expected format.

    Sample Input

    7

    19

    10

    6

    0

    Sample Output

    Discarded cards: 1, 3, 5, 7, 4, 2

    Remaining card: 6

    Discarded cards: 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 4, 8, 12, 16, 2, 10, 18, 14

    Remaining card: 6

    Discarded cards: 1, 3, 5, 7, 9, 2, 6, 10, 8

    Remaining card: 4

    Discarded cards: 1, 3, 5, 2, 6

    Remaining card: 4

    解题思路:首先这个循环是以0的输入为结束标志,所以在判断输入时要先看看它是不是为0.这个解题要用到队列,队列的特点是先进先出,利用front()进行数据的读取,pop()进行出队,push()进行入队,基本上就可以写出一个轮廓。注意一点的是,这个步骤要在这个队列不为空的情况下进行。还要注意题目要求的输出格式,输出第一行的最后一个数字后面没有逗号隔开,所以在每一次读取与出队之后要判断这个队列是否为空,然后再进行下一步操作。

    程序代码:
    #include<cstdio> #include<queue> #include<iostream> using namespace std; int main() { int n; while(scanf("%d",&n)==1&&n) { int x; queue<int>s; for(int i=1;i<=n;i++) s.push(i); int flag=0; printf("Discarded cards:"); while(!s.empty()) { x=s.front (); s.pop (); if(s.empty()) break; if(!flag)cout<<" "<<x; else cout<<", "<<x; flag=1; x=s.front(); s.pop(); s.push(x); } cout<<endl; printf("Remaining card:"); printf(" %d ",x); } return 0; }
  • 相关阅读:
    Python作业本——第4章 列表
    Python作业本——第3章 函数
    Python作业本——前言
    Yandex企业邮箱申请教程
    如何看待HTTP/3
    图床合集
    Windows File Recovery
    在线检测你的密码是否被泄露
    mybatis的mapper文件内容回顾
    java中系统中的常量
  • 原文地址:https://www.cnblogs.com/chenchunhui/p/4654704.html
Copyright © 2011-2022 走看看