JSJ2021A6(时间限制:20000ms 内存限制:65536KB)
寒假到了,按照学院寒假值班安排,计算机卓越201班60个同学中需要安排若干个学生轮流值班(每生每次值班1天),值班时间是2021年1月1号--31号,从1月1号开始值班,轮流值班次序由学院随机指定。现要求做一个寒假值班表,能随时查询某某同学几号值班。相信你能帮学院设解决这个问题!
输入
测试数据有多组,首行是一个正整数n,表示测试数据组数。
每组测试数据有多行,其中第1行是正整数m,表示本次有m名学生轮流值班,随后m行是m名轮流值班学生姓名;第m+2行是一个值班学生姓名,表示从该生开始循环轮流值班,即该生1号值班;第m+3行输入一个学生姓名,表示待查找该名学生的值班时间。
输入示例:
1 // 第一行1 表示测试数据有一组
4 // 第1组测试数据: 第1行的正整数 4 表示有4名学生 按此顺序轮流值班。
zhangsan // 第2行 --- 第 m+1行 依次表示 轮流值班学生姓名
wangwu
lisi
zhaohu // 第m+1行
wangwu // 第m+2行是值班学生姓名,表示从该生开始循环轮流值班,即该生1号值班。
lisi // 第m+3行输入一个学生姓名,表示待查找该名学生的值班时间。
输出
输出有n行,每行有若干个正整数,表示该生的值班时间,每个数据占3个字符,左对齐(参考格式“%-3d”),如输出样例所示。若查无此人值班则输出“-1”。
难度
中等
输入示例
2
4
zhangsan
wangwu
lisi
zhaohu
wangwu
lisi
5
pingduoduo
zhangsan
lisi
zhaohu
wangwu
zhaohu
lisi
输出示例
2 6 10 14 18 22 26 30
5 10 15 20 25 30
#include <iostream>
#include <cstring>
#include<stdio.h>
using namespace std;
int main()
{ char s[100][20],h[60],g[60];int a,b,c,d,i,n,k;cin>>n;while(n--){ cin>>a;for(i=0;i<a;i++){cin>>s[i];}cin>>h>>g;for(i=0;i<a;i++){if(strcmp(s[i],h)==0) k=i; } d=1;c=0;while(d<=31){ k=k%a;if(strcmp(s[k],g)==0){printf("%-3d",d);c=1;}k++;d++;}if(c==0) cout<<-1;cout<<endl;}
}
这里的两个代码,第二个没有用第一个的取模方法,建议还是改用取模的,因为这才是最常用的方法,更为正规
#include<iostream>
#include<string.h>
using namespace std;
struct student
{char name[101];
}stu[101];
int main()
{int m, i,k,n,j,date,b=0;char begin[101],cha[101];cin >> n;for (k= 0; k< n; k++){date=0;cin >> m;for (j = 0; j < m; j++)cin >> stu[j].name;cin>>begin; //从该学生开始轮流 cin>>cha; //要查找的学生 for(i=0;i<m;i++){if(strcmp(stu[i].name,begin)==0){b=1;break;}}if(b==0){cout<<-1<<endl;return 0;}for(;i<m;i++){date++;if(strcmp(cha,stu[i].name)==0)cout<<date<<" "; if(date==31)break;if(i==m-1)i=-1;}cout<<endl; }return 0;
}
JSJ2021A6(时间限制:20000ms 内存限制:65536KB)相关推荐
- c++做题记录1 01:全面的MyString 查看提交统计提问 总时间限制: 1000ms 内存限制: 65536kB 描述 程序填空,输出指定结果
001:全面的MyString 查看提交统计提问 总时间限制: 1000ms 内存限制: 65536kB 描述 程序填空,输出指定结果 #include #include using namespac ...
- win10系统升级一段时间后,内存占用过高
电脑升级系统后,使用一段时间都是正常的,电脑开机之后内存占用率基本在20-30%之间,过一段时间开机后内存占用率飙升,内存基本占用60%以上,由于磁盘I/O也比较高,百度基本都是禁用superfetc ...
- 一定要时常清理QQ的七个文件夹(时间长占内存超大!)
QQ用户请注意了,这5个文件夹要定时清理! 提升内存 安装目录\ProgramFiles\Tencent\QQ\ad 这里面是QQ广告,删掉! 安装目录\ProgramFiles\Tencent\QQ ...
- C#net6实现Linux系统下修改IP地址、修改系统时间、获取内存信息、获取磁盘信息、重启系统
C#net6实现Linux系统下修改IP地址.修改系统时间.获取内存信息.获取磁盘信息.重启系统 背景 项目背景 实现思路 代码实现 背景 随着微软.net core的出现,C#程序实现跨平台不在困难 ...
- java 内存溢出分析_用一段时间后java内存溢出问题分析(转)
几乎每个月都有出现因为内存溢出的问题,除了需要多分配内存外, 是不是要考虑对代码进行一些处理.. 下面是参考网络资源总结的一些在Java编程中尽可能要做到的一些地方. 1.尽量在合适的场合使用单例 使 ...
- 2nbsp;时间管理和内存管理
时间管理 uC/OS-II的时间管理是通过定时中断来实现的,该定时中断一般为10毫秒或100毫秒发生一次(这个时间片段是OS的作者推荐的,大家可以参考邵贝贝翻译的<嵌入式实时操作系统ucos-I ...
- matlab读取格式重复,matlab - 为什么Xlsread以字符串形式读取(日期时间) - 堆栈内存溢出...
我正在尝试阅读Excel工作表. 在同一台计算机上,我得到不同的结果. 我应该怎么做才能将日期时间读为日期而不是字符串? 我知道以后可以更改它,但是我需要为Octave和Matlab使用相同的代码. ...
- webgl 实现地球月球绕转(时间原因有内存泄漏问题后续优化)带阴影雾化光照效果
代码纯webgl原生实现 <!DOCTYPE html> <html><head><meta charset="UTF-8">< ...
- Bailian3860 Bailian3724 unix纪元【日期时间】
3860:unix纪元 总时间限制: 1000ms 内存限制: 65536kB 描述 在著名的unix系统中,使用了一种简洁高效的时间表示方法,即: 将1970年1月1日0点作为"unix纪 ...
最新文章
- 【PP主数据】工作中心介绍
- jquery选择器(转载)
- 构造方法与重载:定义一个网络用户类,信息有用户 ID、用户密码、 email 地址。在建立类的实例时把以上三个信息都作为构造函数的参数输入
- 【转帖】漫话C++0x(四) —- function, bind和lambda
- WordPress+Markdown+为知笔记,实现高质量笔记和博客
- 微信小程序点击按钮弹出弹窗_微信小程序实现的点击按钮 弹出底部上拉菜单功能示例...
- 浅谈Dynamic 关键字系列之三(下):ExpandoObject,DynamicObject,DynamicMetaObject
- C++继承机制(三)——多继承、菱形继承、虚继承原理
- 爬虫入门【10】Pyspider框架简介及安装说明
- html中不支持什么元素,HTML中不支持静态Expando的元素的问题
- colab 上 tensorflow版本切换
- mvn help:system下载包失败错误解决!
- 如何区分两列中不同数据_快速找出Excel表格中两列数据不同内容的3种方法!
- ValueError: operands could not be broadcast together with shapes (204,111104
- gmx-MMPBSA — error while loading shared libraries: libgfortran.so.3: cannot open shared object file
- 离获得支付牌照还有多远?今日头条申请“字节支付”商标
- 台式机通过笔记本的WIFI上网
- PCB模拟信号线与数字信号线布线技巧
- idea突然很卡解决办法
- 网络营销好学吗?自学和培训该怎么选?