好老师
来源:互联网 发布:windows激活后不能退货 编辑:程序博客网 时间:2024/04/30 13:55
我想当一个好老师,所以我决定记住所有学生的名字。可是不久以后我就放弃了,因为学生太多了,根本记不住。但是我不能让我的学生发现这一点,否则会很没面子。所以每次要叫学生的名字时,我会引用离他最近的,我认得的学生。比如有10个学生:
A ? ? D ? ? ? H ? ?
想叫每个学生时,具体的叫法是:
位置
叫法
1
A
2
right of A (A右边的同学)
3
left of D (D左边的同学)
4
D
5
right of D (D右边的同学)
6
middle of D and H (D和H正中间的同学)
7
left of H (H左边的同学)
8
H
9
right of H (H右边的同学)
10
right of right of H (H右边的右边的同学)
输入只有一组数据。第一行是学生数n(1<=n<=100)。第二行是每个学生的名字,按照从左到右的顺序给出,以空格分隔。每个名字要么是不超过3个英文字母,要么是问号。至少有一个学生的名字不是问号。下一行是询问的个数q(1<=q<=100)。每组数据包含一个整数p(1<=p<=n),即要叫的学生所在的位置(左数第一个是位置1)。
对于每个询问,输出叫法。注意"middle of X and Y"只有当被叫者有两个最近的已知学生X和Y,并且X在Y的左边。
10A ? ? D ? ? ? H ? ?
4
3
8
6
10
left of D
H
middle of D and H
right of right of H
模拟:当时比赛的时候有一个点想错了,我以为是左右两边非?和?的距离谁小输出谁。。。。交了15遍一直wa。。。。。赛后才知道原来是谁小输出左边的左边。。。或者右边的右边。。。。。。好心痛,水题自己愣是ka了3个小时,看别人a了这个题。自己就一直写,不想换题,导致就做出一道。。。学弟学妹做的都比我多。好丢人啊,呜呜呜。。。
#include<stdio.h>#include<iostream>#include<string.h>#include<algorithm>#include<stdlib.h>#include<math.h>#include<vector>#include<map>#define LL long longusing namespace std;int main(){ char s[105][10]; int a[105]; int n; scanf("%d",&n); for(int i=0; i<n; i++) { scanf("%s",s[i]); } int m; scanf("%d",&m); for(int i=1; i<=m; i++) { scanf("%d",&a[i]); a[i]=a[i]-1; } int ha; int haha; int ta; int r; int j,j1; int p,p1; for(int i=1; i<=m; i++) { if(strcmp(s[a[i]],"?")==0) { p=0; p1=0; ta=0; r=0; for(j=a[i]-1; j>=0; j--) { if(strcmp(s[j],"?")==0) { p++; } else { ha=j; break; } } if(j==-1) { r=1; } for(j1=a[i]+1; j1<n; j1++) { if(strcmp(s[j1],"?")==0) { p1++; } else { haha=j1; break; } } if(j1==n) ta=1; if(ta==0&&r==0) { if(p>p1) { for(int k=0; k<p1+1; k++) { printf("left of "); } printf("%s\n",s[haha]); } else if(p<p1) { for(int k=0; k<p+1; k++) { printf("right of "); } printf("%s\n",s[ha]); } else if(p==p1) { printf("middle of %s and %s\n",s[ha],s[haha]); } } else if(ta==1&&r==0) { for(int k=0; k<p+1; k++) { printf("right of "); } printf("%s\n",s[ha]); ta=0; } else if(ta==0&&r==1) { for(int k=0; k<p1+1; k++) { printf("left of "); } printf("%s\n",s[haha]); r=0; } } else { printf("%s\n",s[a[i]]); } }}
0 0
- 好老师
- 好老师
- 好老师
- 好老师
- 好老师
- 好老师
- 老师万岁,朋友们好
- 学校1036: 好老师
- csu1334 好老师
- 自己找到好老师
- G - 好老师
- 好老师,什么样?
- CSU 1334 好老师
- CSU 1334 好老师
- toj 4601 好老师
- zcmu---1667好老师
- 1667: 好老师
- 老师也不是什么好东西
- 通过主动学习的方法进行自动语料标注
- 使用Libreswan配置ipsecvpn
- Cut The Cake
- HTML中的置换元素与非置换元素
- 四大组件 — BroadCastReceiver广播接收者
- 好老师
- 改变光标位置
- 方格选数
- Java综合框架<2>
- 四大组件 — BroadCastReceiver广播接收者-接收 | 发送
- HDU-4475 Downward paths(找规律)
- Zookeeper开源客户端Curator之基本功能讲解
- 检查一个字符串是否以指定的字符串结尾
- 矩阵构造方法