zoukankan      html  css  js  c++  java
  • uva 1610 聚会游戏

    一般的做法就是写一堆if,但是由于题目中的限制比较多,所以陷阱也很多,很容易漏掉一些情况

    这里我们采用暴力的方法去实现

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 
     4 int n, k, cnt;
     5 string s0, s1, s2;
     6 
     7 int main(){
     8     while(cin >> n && n){
     9         vector<string> str;
    10         k = n/2;
    11         while(n--){
    12             cin >> s0;
    13             str.push_back(s0);
    14         }
    15         sort(str.begin(), str.end());
    16         s1 = str[k-1];
    17         s2 = str[k];
    18         s0 = "";
    19         cnt= 0;
    20         while(1){
    21             s0 += "A";
    22             while(s0 < s1 && s0[cnt] != 'Z') s0[cnt]++;
    23             if(s0 >= s2) s0[cnt]--;
    24             if(s0 < s2 && s0 >= s1) break;
    25             cnt++;
    26         }
    27         cout << s0 << endl;
    28     }
    29     return 0;
    30 }
    View Code
  • 相关阅读:
    P1082 同余方程
    P2678 跳石头
    P2827 蚯蚓
    P1351 联合权值
    P2822 组合数问题
    P3958 奶酪
    P2296 寻找道路
    P2661 信息传递
    平时问题总结
    平时总结
  • 原文地址:https://www.cnblogs.com/DynastySun/p/9264153.html
Copyright © 2011-2022 走看看