百团纳新
来源:互联网 发布:域名怎么收费 编辑:程序博客网 时间:2024/04/30 09:30
[题目描叙]
最期待的就是每年的百团纳新了有木有,为何呢,当然是寻找单身组织了。加了社团,总会
有各种见面会啊,一伙人围坐一圈总不能一直眼神交流吧,轮流出节目吧。假设你是第一个,你给出一个数字 num,从你开始报数 1,你的右手方向报数 2,以此类推,
直到报数为 num 的要表演节目。表演完,从表演者的下一个继续从 1 开始报数,已经报过
数的人不用再报,直到只剩最后一个没出过节目的,当然了最后一个不用出节目。
身为 IT 男神,总不能现场表演敲代码吧,唯一的办法就是成功避开所有为 num 的报数。
输入:
第一行输入一个正整数 N,N<100,表示有 N 个人围成一圈
接下来有 N 行,表示从你开始往右手方向的 N 个人的名字,第一个是你的名字
输出:
第一行输出 num,表示你能给出的最小的 num 使你能避开所有为 num 的报数
接下来有 N-1 行,按表演顺序输出表演者的名字
5
Mike
Jake
Marry
KangKang
June
样例输出:
4
KangKang
Marry
June
Jake
[解题思路]
num的值从2一直往n递增,直到剩下的最后一个人是自己,这时跳出循环,得到的num值就是满足题意的最小的num值!
[代码]
#include<stdio.h>#include<string.h>int main(){int n;int i;char a[100][10];char b[100][10];char d[100][10];char me[2][10];scanf("%d",&n);int m=n;for(i=1;i<=n;i++){scanf("%s",a[i]);strcpy(d[i],a[i]);}strcpy(me[1],a[1]);for(int num=2;;num++){int temp=num;char c[100][10];int signC=1;int sign=1;n=m;int s=num;while(n!=1){if(temp%n!=0)num=temp%n;else num=n;if(strcmp(me[1],a[num])==0){sign=0;break;}strcpy(c[signC],a[num]);signC++;int s=1;for(int j=num+1;j<=n;j++){strcpy(b[s],a[j]);s++;}for(int m=1;m<num;m++){strcpy(b[s],a[m]);s++;}for(int k=1;k<s;k++){strcpy(a[k],b[k]);}n--;}num=s;if(sign){printf("%d\n",temp);for(i=1;i<m;i++) {printf("%s\n",c[i]);}break;}for(i=1;i<=m;i++){strcpy(a[i],d[i]);}}}
0 0
- 百团纳新
- 纳新通告
- 纳新通告
- 纳新通告
- 纳新通告
- 纳新通告
- 纳新通告
- 纳新通告
- 纳新通告
- 实验室纳新
- 纳新心得
- 2013-海天CSDN纳新
- CSDN纳新文稿
- 纳新宣传网页总结
- 中中纳新 解题报告
- 2014级纳新笔试题目
- 2015年纳新面试题
- 关于ACM实验室纳新问题解答
- 【slighttpd】基于lighttpd架构的Server项目实战(4)—简单的echo服务器
- OpenCV_MFC学习笔记
- Oc-语句总结(3)--NSFileManager 文件管理器
- jQuery过滤性选择器
- 中国电信中兴F460光猫破解及路由级联设置
- 百团纳新
- struts【1】(配置详解)
- botnet
- ANSI,UTF8,Unicode,ASCII编码的区别
- 使用HTML全局事件的一些功能,HTML元素,JS
- C语言 乘法 大数相乘
- ios通过ipa快速提取里面的图片资源
- 面试笔试杂项积累-leetcode 96-100
- Android隐藏状态栏、导航栏