C - Roll-call in Woop Woop High
Description
The new principal of Woop Woop High is not satisfied with her pupils performance. She introduced a new roll-call process to get a daily measure of the pupils' learning, which proceeds as follows:
At the beginning of the daily roll-call period each pupil is handed a question, which they must attempt to answer, before proceeding to their classes. A pupil stops after the question is answered correctly. Each pupil is allowed up to five attempts to answer the question correctly.
Pupils who answer correctly on the first attempt are marked present. Pupils who answer correctly after more than one attempt are encouraged to work at home. Pupils who fail to develop a correct answer within five attempts are given remedial classes after school. Pupils who do not give any answer are marked as abscent.
Your task is to write a program that reads the pupils' assessments and generates performance reports for the principal to proceed with appropriate actions.
Input
The input starts with an integer K ( 1
K
100) indicating the number of classes. Each class starts with an integer N ( 1
N
50) indicating the number of pupils in the class. Each of the following N lines starts with a pupil's name followed by up-to five assessments of his/her answers. An assessment of 'yes' or 'y' indicates a correct answer and an assessment of 'n' or 'no' indicates a wrong answer. A pupil's name consists of a single string with no white spaces.
Output
The attendance report for each class consists of five lines.
- The first line consists of the sentence: "Roll-call: X", where X indicates the class number starting with the value of one.
- The second line consists of the sentence: ''Present: Y1 out of N'', where Y1 is the number of pupils who did not submit a wrong answer.
- The third line consists of the sentence: ''Needs to study at home: Y2 out of N'', where Y2 is the number of pupils who submitted a number of wrong answers before submitting the correct answer.
- The fourth line consists of the sentence: ''Needs remedial work after school: Y3 out of N'', where Y3 indicates the number of pupils whose submitted five wrong answers.
- The fifth line consists of the sentence: ''Absent: Y4 out of N'', where Y4 indicates the number of absent pupils.
Sample Input
2
5
Doc n y
sneezy n n no yes
princecharming no n no no n
goofy yes
grumpy n y
5
evilemperor n y
princesslia
r2d2 no no y
obeyonecanopy n no y
darthvedar y
Sample Output
Roll-call: 1
Present: 1 out of 5
Needs to study at home: 3 out of 5
Needs remedial work after school: 1 out of 5
Absent: 0 out of 5
Roll-call: 2
Present: 1 out of 5
Needs to study at home: 3 out of 5
Needs remedial work after school: 0 out of 5
Absent: 1 out of 5
/*
题意:每个人做五道题 答对(yes/y) 答错(n,/n)
Roll-call: 1 回合
Present: 1 out of 5 第一道就答对了
Needs to study at home: 3 out of 5 五道题之内答对了一道 但不是第一道
Needs remedial work after school: 1 out of 5 五道题都没有答对
Absent: 0 out of 5 一道题也没有回答 各种写法都有 不过就还是最熟悉的写法来的好
读空格 gets() 也可以是读整行的getline--cin.getline(str,100);
getcahr() 一直不能掌握其要领 不过输入字符串的时候就要注意一下
*/ #include <iostream>
#include <string.h>
#include <stdio.h> using namespace std;
int s1,s2,s3,s4;
bool OK;
int cnt; int main()
{
int t,n;
int num;
char str[]; scanf("%d",&t);
for(num=;num<=t;num++)
{
s1=;s2=;s3=;s4=; scanf("%d",&n);
int s=n;
getchar();
while(n--)
{
OK=false;
cnt=;
gets(str);
int len=strlen(str);
for(int i=;i<len;i++)
{
if(str[i-]==' '&&str[i]=='y')
{
if(cnt==) ///yi ci jiu dui
s1++;
else ///hui da hao ji ci dui
s2++;
cnt++; ///lai guo
OK=true;
}
else if(str[i-]==' '&&str[i]=='n')
{
cnt++; ///lai guo
} }
if(cnt==)
s4++; ///mei lai
else if(!OK)
s3++; ///mei dui guo
}
// cout<<s1<<' '<<s2<<' '<<s3<<' '<<s4<<endl;
printf("Roll-call: %d\n",num);
printf("Present: %d out of %d\n",s1,s);
printf("Needs to study at home: %d out of %d\n",s2,s);
printf("Needs remedial work after school: %d out of %d\n",s3,s);
printf("Absent: %d out of %d\n",s4,s);
}
}
C - Roll-call in Woop Woop High的更多相关文章
- A - Class Statistics
A - Class Statistics Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Subm ...
- 树莓派 Raspberry Pi 与 micro:bit起手式
本文将学习如何在Raspberry Pi上安装MicroPython编辑器mu,并将MicroPython中编写的程序从您的Raspberry Pi推送到micro:bit. 您需要: 硬件, 带有S ...
- HDU 4178 模拟
Roll-call in Woop Woop High Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (J ...
- hdu 4176
Class Statistics Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- pitch yaw roll是什么
虚拟现实 三维空间的右手笛卡尔坐标如图1所示. 图1 在航空中,pitch, yaw, roll如图2所示. pitch是围绕X轴旋转,也叫做俯仰角,如图3所示. yaw是围绕Y轴旋转,也叫偏航角,如 ...
- osg四元数设置roll pitch heading角度
roll绕Y轴旋转 pitch绕X轴旋转 heading绕Z轴旋转 单位是弧度,可以使用osg::inDegrees(45)将45角度转换为弧度 定义一个四元数 osg::Quat q( roll,o ...
- bzoj roll题器(Py大法好)
此roll题器能实现非权限号跳过权限题及所有号跳过已切题 点击下载rar文件(py2) 点击下载rar文件(py3)
- Calendar类中add/set/roll方法的区别
欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...
- HDU 5955 Guessing the Dice Roll
HDU 5955 Guessing the Dice Roll 2016 ACM/ICPC 亚洲区沈阳站 题意 有\(N\le 10\)个人,每个猜一个长度为\(L \le 10\)的由\(1-6\) ...
随机推荐
- JoyOI1935 导弹防御塔
原题链接 首先可以二分答案,然后考虑检验答案. 我们可以对炮塔进行拆点,即能发射\(x\)颗导弹就拆成\(n\times x\)个点,作为一个集合,另一个集合则是\(m\)个侵入者,然后对于能在剩余时 ...
- Java中的权限修饰符
What:访问控制权限是可以设置代码的访问范围. Where:访问权限既可以修饰类中的属性,又可以修饰类中的方法,而public和default还可以修饰类. 在同一个java文件里,公有类有且仅有一 ...
- Lftp 简单使用步骤
有一用户需要在Linux上面将数据备份至存储上面,但是不支持挂载. 只可以FTP. 找了下,Lftp 这款FTP Client 满足用户的需求. 相关资料参考:http://blog.chinauni ...
- libpcap 库使用(三)
1.为了使收到的报文尽快给我们的处理程序,需要设置成immediate模式: int pcap_set_immediate_mode(pcap_t *p, int immediate_mode);
- mysql完装成功后的提示。
To start mysqld at boot time you have to copysupport-files/mysql.server to the right place for your ...
- mapreduce的输入格式 --- InputFormat
InputFormat 接口决定了mapreduce如何切分输入文件. InputFormat 由getspilit和createRecordReader组成,getspilit主要是标记分片的初始位 ...
- Linux下启动停止查看杀死Tomcat进程
文章来自:http://www.linuxidc.com/Linux/2011-06/37180.htm 启动 一般是执行tomcat/bin/startup.sh,sh tomcat/bin/sta ...
- lower_case_table_names
http://blog.csdn.net/jesseyoung/article/details/40617031 1 简介 在MySQL中,数据库对应数据目录中的目录.数据库中的每个表至少对应数 ...
- JNI,RegisterNative参数解析
Register native method - 数据类型和method descriptor 使用JNI时,为了使得虚拟机可以找到在C/C++ code中定义的native方法,有两种机制可以用,一 ...
- MyBatis中实现多表查询
如果查询的数据量大,推荐使用N+1次查询.数据量少使用联合查询... 一. 1.Mybatis是实现多表查询方式 1.1 业务装配:对两个表编写单表查询语句,在业务(Service)把查询的两表结果 ...