The Ninth Hunan Collegiate Programming Contest (2013) Problem G

Problem G

Good Teacher

I want to be a good teacher, so at least I need to remember all the student names. However, there are too many students, so I failed. It is a shame, so I don't want my students to know this. Whenever I need to call someone, I call his CLOSEST student instead. For example, there are 10 students:

A ? ? D ? ? ? H ? ?

Then, to call each student, I use this table:

Pos     Reference
1A
2right of A
3left of D
4D
5right of D
6middle of D and H
7left of H
8H
9right of H
10right of right of H

Input

There is only one test case. The first line contains n, the number of students (1<=n<=100). The next line contains n space-separated names. Each name is either ? or a string of no more than 3 English letters. There will be at least one name not equal to ?. The next line contains q, the number of queries (1<=q<=100). Then each of the next q lines contains the position p (1<=p<=n) of a student (counting from left).

Output

Print q lines, each for a student. Note that "middle of X and Y" is only used when X and Y are both closest of the student, and X is always to his left.

Sample Input

10
A ? ? D ? ? ? H ? ?
4
3
8
6
10

Output for the Sample Input

left of D
H
middle of D and H
right of right of H

The Ninth Hunan Collegiate Programming Contest (2013) Problemsetter: Rujia Liu Special Thanks: Feng Chen, Md. Mahbubul Hasan

 

  打好基础,顺序查找,没有什么高端算法,就是希望在某些情况下少用各种break ,多用函数return ,这样好一点,少犯些错误。

#include <iostream>
#include <stdio.h>
#include <queue>
#include <stdio.h>
#include <string.h>
#include <vector>
#include <queue>
#include <set>
#include <algorithm>
#include <map>
#include <stack>
#include <math.h>
#define Max(a,b) ((a)>(b)?(a):(b))
#define Min(a,b) ((a)<(b)?(a):(b))
using namespace std ;
typedef long long LL ;
int N ;
string str[108] ;
void gao(int id){
    if(str[id]!="?"){
         cout<<str[id]<<endl ;
         return  ;
    }
    int L ,R ;
    L=R=1 ;
    int left=id-1 ;
    int right=id+1 ;
    str[0]=str[N+1]="?" ;
    while(left>=1&&str[left]=="?"){
        R++ ;
        left-- ;
    }
    while(right<=N&&str[right]=="?"){
        L++ ;
        right++ ;
    }
    if(L==R&&str[left]!="?"&&str[right]!="?"){
        printf("middle of %s and %s\n",str[left].c_str(),str[right].c_str()) ;
        return ;
    }
    if((str[left]!="?"&&str[right]!="?"&&L>R)||str[right]=="?"){
        for(int i=1;i<=R;i++)
            printf("right of ") ;
        cout<<str[left]<<endl  ;
        return  ;
    }
    if((str[left]!="?"&&str[right]!="?"&&L<R)||str[left]=="?"){
        for(int i=1;i<=L;i++)
            printf("left of ") ;
        cout<<str[right]<<endl  ;
        return  ;
    }
}
int main(){
   int M ,id ;
   cin>>N ;
   for(int i=1;i<=N;i++)
       cin>>str[i] ;
   cin>>M ;
   while(M--){
       cin>>id ;
       gao(id) ;
   }
   return 0 ;
}

 

转载于:https://www.cnblogs.com/liyangtianmen/p/3367434.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《自动控制系统,第九版》是一本关于自动控制系统的教科书。这本教科书由Richard C. Dorf和Robert H. Bishop共同编写,是该领域的权威参考书之一。 这本教科书主要介绍了自动控制系统的基本原理、设计和应用。它的目标是帮助学习者深入理解自动控制系统的概念和工作原理,并能够应用这些知识来解决实际问题。 第九版相比前几版进行了全面的更新和改进。它包括了最新的自动控制技术和应用,如无人驾驶车辆、机器人技术和智能家居系统等。此外,它还引入了一些新方法和工具,如模型预测控制、最优控制和自适应控制等。 教科书的内容结构清晰、详细。它从控制系统的基本概念开始,介绍了系统建模与分析、传递函数和状态空间表示等基本理论。然后,它探讨了各种常见的控制器设计方法和技术,包括PID控制、根轨迹法、频域和时域分析等。最后,它还介绍了一些高级主题,如多变量控制、数字控制和非线性控制。 此外,教科书还包含了大量的案例分析和练习题,帮助学习者加深对理论知识的理解,并提供实践应用的机会。每一章节的末尾还有总结和概念回顾,方便读者复习和巩固学习成果。 综上所述,《自动控制系统,第九版》是一本全面介绍自动控制系统的教科书,适用于电子、自动化、机械等专业的本科和研究生学生,以及从事相关工程和研究的专业人士。它不仅提供了深入理解自动控制系统的基本概念和原理的机会,还为读者提供了解决实际问题的技能和工具。 ### 回答2: 《自动控制系统第九版》是一本涵盖自动控制理论和应用的教材。本书系统地介绍了自动控制系统的基本原理、设计方法和实际应用。 首先,本书对自动控制系统的基础知识进行了全面而深入的讲解。其中包括了控制系统的基本概念、信号与系统的分析、系统建模、传递函数与状态空间描述、时域分析和频域分析等内容。通过这些基础知识的学习,读者可以了解控制系统的基本工作原理和数学描述方法。 其次,本书介绍了自动控制系统的设计方法与技巧。其中涉及了根轨迹法、频率响应法、状态空间法等设计方法。这些方法可以帮助读者进行控制系统的设计和优化,使其具备所需的性能和稳定性。 此外,本书还广泛涵盖了自动控制系统在各个领域的应用。例如电气系统、机械系统、化工系统、交通运输系统等。通过大量的实际案例和应用实例,读者可以了解到自动控制系统在工程实践中的重要性和广泛应用性。 总的来说,《自动控制系统第九版》是一本内容详尽、结构清晰、理论与实践相结合的教材。它适用于自动控制领域的学生和从业人员,既可以作为课堂教学的参考资料,也可以作为工程实践的工具书。无论是在学习还是应用中,本书都能够为读者提供充足的理论支持和实际指导。 ### 回答3: 自动控制系统是指通过感知、分析和响应来控制机器、设备或过程的一种系统。第九版《自动控制系统》是一本与自动控制系统相关的教材。 这本教材内容全面,对自动控制系统的各个方面进行了介绍和解释。它包括了控制系统的基本原理、技术和应用。其中包括了控制系统的建模与分析、系统的稳定性和动态响应、PID控制器、频域分析和设计、根轨迹法等等。这本教材适用于工程、理工科类学生以及自动化控制系统相关专业的学者研究。 与之前版本相比,第九版对内容进行了更新和扩充,加入了新的控制理论和方法。它结合了实际案例和示例,帮助读者更好地理解和应用所学知识。此外,它还提供了习题和实践项目,供读者实践和巩固所学内容。 《自动控制系统》第九版是一本权威且实用的教材,它不仅适用于课堂教学,也可作为工程控制领域的参考书。无论是学习控制系统的基础知识,还是深入了解控制系统的各种技术和应用,这本书都是一本很好的选择。它通过清晰的语言和图例,使得读者能够轻松理解和掌握自动控制系统的基本概念和原理。 总之,第九版《自动控制系统》是一本内容丰富、全面而权威的教材,它为读者提供了全面的控制系统知识,并帮助读者在实践中应用所学内容。无论是学生还是专业人士,都可以从中受益,掌握自动控制系统的基础与应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值