zoukankan      html  css  js  c++  java
  • 生活大爆炸版石头剪刀布

    原题:https://www.luogu.org/problem/show?pid=1328#sub

    一道大型模拟。虽然有简化做法但是数据量太小,几乎用不到。

    看到出拳是有周期性的,想到取模,然后就是判断了。

    我用的方法是case套case,用scorea和scoreb记录成绩。

    一定要注意对应关系,谁赢谁谁得分,写的时候最好先在纸上列个表,理清思路后好写一些。

    (特别巧的是,去年此时我在codevs上用pascalAC了这道题。)

    (当时我用pascal也是这样做的。。。也是使用case语句)

    AC代码:

        

      1 #include <iostream>
      2 #include <cstdio>
      3 #include <cstring>
      4 #include <cctype>
      5 #define maxn 233
      6 using namespace std;
      7 int main(){
      8     int n,na,nb;
      9     int a[maxn],b[maxn];
     10     int scorea,scoreb;
     11     cin >> n >> na >> nb;
     12     for (int i=1;i<=na;i++)
     13         cin >> a[i];
     14     for (int i=1;i<=nb;i++)
     15         cin >> b[i];
     16     int i=0;
     17     int j=0;
     18     for (int t=1;t<=n;t++){
     19         i=i%na+1;
     20         j=j%nb+1;
     21         switch(a[i]){
     22             case 0:
     23                 switch(b[j]){
     24                     case 1:
     25                         scoreb++;
     26                         break;
     27                     case 2:
     28                         scorea++;
     29                         break;
     30                     case 3:
     31                         scorea++;
     32                         break;
     33                        case 4:
     34                         scoreb++;
     35                         break;
     36                 };
     37                 break;
     38             
     39             case 1:
     40                 switch(b[j]){
     41                     case 0:
     42                         scorea++;
     43                         break;
     44                     case 2:
     45                         scoreb++;
     46                         break;
     47                     case 3:
     48                         scorea++;
     49                         break;
     50                     case 4:
     51                         scoreb++;
     52                         break;
     53                 };
     54                 break;
     55 
     56             case 2:
     57                 switch(b[j]){
     58                     case 0:
     59                         scoreb++;
     60                         break;
     61                     case 1:
     62                         scorea++;
     63                         break;
     64                     case 3:
     65                         scoreb++;
     66                         break;
     67                     case 4:
     68                         scorea++;
     69                         break;
     70                 };
     71                 break;
     72 
     73         
     74             case 3:
     75                 switch(b[j]){
     76                     case 0:
     77                         scoreb++;
     78                         break;
     79                     case 1:
     80                         scoreb++;
     81                         break;
     82                     case 2:
     83                         scorea++;
     84                         break;
     85                     case 4:
     86                         scorea++;
     87                         break;
     88                 };
     89                 break;
     90         
     91             case 4:
     92                 switch(b[j]){
     93                     case 0:
     94                         scorea++;
     95                         break;
     96                     case 1:
     97                         scorea++;
     98                         break;
     99                     case 2:
    100                         scoreb++;
    101                         break;
    102                     case 3:
    103                         scoreb++;
    104                         break;
    105                 };
    106                 break;
    107         }
    108         
    109     }
    110     cout << scorea << " " << scoreb << endl;
    111     return 0;
    112 }

        

  • 相关阅读:
    oracle数据库物理结构逻辑结构内存区块进程管理
    系统的数据库设计
    大数据和高并发的解决方案总结
    Asp.net+WebSocket+Emgucv实时人脸识别
    初识Docker
    变位词程序的实现
    分布式系统常见问题#转载
    六类排序算法的C#实现
    Asp.net MVC 中Controller返回值类型ActionResult
    将应用程序中的一些参数写到xml配置文件中
  • 原文地址:https://www.cnblogs.com/OIerShawnZhou/p/7455174.html
Copyright © 2011-2022 走看看