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 ( 1K100) indicating the number of classes. Each class starts with an integer N ( 1N50) 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的更多相关文章

  1. A - Class Statistics

    A - Class Statistics Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Subm ...

  2. 树莓派 Raspberry Pi 与 micro:bit起手式

    本文将学习如何在Raspberry Pi上安装MicroPython编辑器mu,并将MicroPython中编写的程序从您的Raspberry Pi推送到micro:bit. 您需要: 硬件, 带有S ...

  3. HDU 4178 模拟

    Roll-call in Woop Woop High Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (J ...

  4. hdu 4176

    Class Statistics Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  5. pitch yaw roll是什么

    虚拟现实 三维空间的右手笛卡尔坐标如图1所示. 图1 在航空中,pitch, yaw, roll如图2所示. pitch是围绕X轴旋转,也叫做俯仰角,如图3所示. yaw是围绕Y轴旋转,也叫偏航角,如 ...

  6. osg四元数设置roll pitch heading角度

    roll绕Y轴旋转 pitch绕X轴旋转 heading绕Z轴旋转 单位是弧度,可以使用osg::inDegrees(45)将45角度转换为弧度 定义一个四元数 osg::Quat q( roll,o ...

  7. bzoj roll题器(Py大法好)

    此roll题器能实现非权限号跳过权限题及所有号跳过已切题 点击下载rar文件(py2) 点击下载rar文件(py3)

  8. Calendar类中add/set/roll方法的区别

    欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...

  9. HDU 5955 Guessing the Dice Roll

    HDU 5955 Guessing the Dice Roll 2016 ACM/ICPC 亚洲区沈阳站 题意 有\(N\le 10\)个人,每个猜一个长度为\(L \le 10\)的由\(1-6\) ...

随机推荐

  1. asp.net web 服务器端全局定时执行任务

    web网站里面,需要每隔1分钟,执行一个任务,并且一直保持这个定时执行状态,可以用如下一个方法:    1,Global.asax里面的 Application_Start ,发生在第一次请求网站的时 ...

  2. CURLOPT_RETURNTRANSFER

    curl_setopt($ch,CURLOPT_RETURNTRANSFER,);//设置返回值不直接输出,例如返回xml格式,会将xml原样输出

  3. 增加samba用户提示Failed to add entry for user

    1.首先在Ubuntu安装好samba,具体步骤为:安装samba:sudo apt-get install samba安装smbclient:sudo apt-get install 安装smbfs ...

  4. python之常用模块篇5

    一.日志模块,logging模块 1)logging模块简单使用,屏幕输出.默认级别30 import logging logging.debug( logging.info( logging.war ...

  5. shell入门练习

    **定义局部变量, 局部变量在退出Shell客户端时会失效** **单引号:原样输出** **双引号:如果里面有变量,会输出变量** **没有引号:输出变量** 可以在调用脚本的时候给脚本传递参数,脚 ...

  6. JSON_FORCE_OBJECT 数字索引数组 强转对象

    $abc = array('a','b','c','d','e','f','g'); echo '<pre>'; var_dump($abc); echo json_encode($abc ...

  7. Win7 VS2015环境使用qt-msvc2015-5.6.0

    QT下载 http://www.qt.io/download-open-source/#section-2 我用的是 qt-opensource-windows-x86-msvc2015-5.6.0. ...

  8. 第四章,java面向对象特性

    4.1 特性 封装,继承, 多态(编译时:方法的重载,同一个类里面不同方法可以用同一个方法名只是传入参数不同, 运行时多态:基础类提供一个接口,在编译时只调用基础类的接口,在运行时才确定到底是哪一个子 ...

  9. java学习路线图(2018年最新版)

    最近有些网友问我如何自学 Java 后端,还有些是想从别的方向想转过来,但都不太了解 Java 后端究竟需要学什么,究竟要从哪里学起,哪些是主流的 Java 后端技术等等,导致想学,但又很迷茫,不知从 ...

  10. 为什么行内元素不能设置margin-top/margin-bottom/padding-top/padding-bottom?

    HTML 里的元素分为替换元素(replaced element)和非替换元素(non-replaced element).- 替换元素是指用作为其他内容占位符的一个元素.最典型的就是img,它只是指 ...