• 记第一次tc


         第一次写tc,不知从何下手,以前学的用c++ 写类,现在忘干净了,string也不知道怎么用,还是网上现看的,平时很少用c++的这些库函数,看来做tc要逼着自己学了,万事开头难,发现写了第一个后,第二个写着就很顺手了,只是第一个费的时间太长

    250pt 题目描述:给出一个字符串,如果是回文串输出“PALINDROME”,如果不是,则把字符串里面所有想连续的相同的字符由一个字符来代替,再判断是否为回文,如果是输出"FAUX",如果两种情况都不是则输出:"NOT EVEN FAUX"

    View Code
     1 #include <iostream>
     2 #include <string>
     3 #include <string.h>
     4 
     5 using namespace std;
     6 
     7 bool vis[55];
     8 int hash[55],tmp[55];
     9 class FauxPalindromes
    10 {
    11     public:
    12     string classifyIt(string word)
    13     {
    14         string b;
    15         int n = word.size();
    16         int i,j;
    17         int flag = 0;
    18         for(i = 0, j = n - 1; i <= j; i++,j--)
    19         {
    20             if(word[i] != word[j]) {flag = 1;break;}
    21         }
    22         if(!flag)
    23         {
    24             string ans("PALINDROME");
    25             return ans;
    26         }
    27         else
    28         {
    29             flag = 0;
    30             for(i = 1; i < n; i++)
    31             {
    32                 if(word[i] != word[i - 1])
    33                 {
    34                     b += word[i - 1];
    35                 }
    36             }
    37             b += word[n - 1];
    38             n = b.size();
    39             for(j = 0,i = n - 1; j <= i; j++,i--)
    40             {
    41                 if(b[j] != b[i]) {flag = 1; break;}
    42             }
    43             if(!flag)
    44             {
    45                 string ans("FAUX");
    46                 return ans;
    47             }
    48             else
    49             {
    50                 string ans("NOT EVEN FAUX");
    51                 return ans;
    52             }
    53         }
    54     }
    55 };

    500pt题目描述:给出红绿蓝三种颜色的球每种的个数分别用 r g b 表示,对着三个球顺次进行操作,消灭一个红的,然后消灭一个绿的,然后消灭一个蓝的,然后循环,问第k个消灭的是什么颜色。

    View Code
      1 #include <stdio.h>
      2 #include <iostream>
      3 #include <string>
      4 #include <string.h>
      5 #define _clr(a,val) (memset(a,val,sizeof(a)))
      6 #define Max(a,b) (a) > (b) ? (a) : (b)
      7 #define Min(a,b) (a) < (b) ? (a) : (b)
      8 
      9 using namespace std;
     10 
     11 class AlternateColors
     12 {
     13 public :
     14     int a[3];
     15     int mod;
     16     string getColor(long long r, long long g, long long b, long long k)
     17     {
     18         _clr(a,0);
     19         long long minx = Min(r,Min(g,b));
     20         if(r == minx) a[0] = 1;
     21         if(g == minx) a[1] = 1;
     22         if(b == minx) a[2] = 1;
     23         cout<<endl;
     24         if(k <= minx * 3)
     25         {
     26             mod = k % 3;
     27             if(mod == 0)
     28             {
     29                 return "BLUE";
     30             }
     31             else if(mod == 1) return "RED";
     32             else return "GREEN";
     33         }
     34         else
     35         {
     36             k -= (minx * 3);
     37             r -= minx;
     38             g -= minx;
     39             b -= minx;
     40             if(a[0] && a[1]) return "BLUE";
     41             if(a[0] && a[2]) return "GREEN";
     42             if(a[2] && a[1]) return "RED";
     43             if(a[0])
     44             {
     45                 if(g > b)
     46                 {
     47                     if(k <= b * 2)
     48                     {
     49                         mod = k % 2;
     50                         if(mod == 0) return "BLUE";
     51                         else return "GREEN";
     52                     }
     53                     else return "GREEN";
     54                 }
     55                 else
     56                 {
     57                     if(k <= g * 2)
     58                     {
     59                         mod = k % 2;
     60                         if(mod == 0) return "BLUE";
     61                         else return "GREEN";
     62                     }
     63                     else return "BLUE";
     64                 }
     65             }
     66             if(a[1])
     67             {
     68                 if(r > b)
     69                 {
     70                     if(k <= b * 2)
     71                     {
     72                         mod = k % 2;
     73                         if(mod == 0) return "BLUE";
     74                         else return "RED";
     75                     }
     76                     else return "RED";
     77                 }
     78                 else
     79                 {
     80                     if(k <= r * 2)
     81                     {
     82                         mod = k % 2;
     83                         if(mod == 0) return "BLUE";
     84                         else return "RED";
     85                     }
     86                     else return "BLUE";
     87                 }
     88             }
     89             if(a[2])
     90             {
     91                 if(r > g)
     92                 {
     93                     if(k <= 2 * g)
     94                     {
     95                         mod = k % 2;
     96                         if(!mod) return "GREEN";
     97                         else return "RED";
     98                     }
     99                     else return "RED";
    100                 }
    101                 else
    102                 {
    103                     if(k <= 2 * r)
    104                     {
    105                         mod = k % 2;
    106                         if(!mod) return "GREEN";
    107                         else return "RED";
    108                     }
    109                     else return "GREEN";
    110                 }
    111             }
    112         }
    113     }
    114 };

     1050pt题目还没看,写了再贴

  • 相关阅读:
    Oracle 实例恢复
    使用 ASMCMD 工具管理ASM目录及文件
    软考编译原理总结
    解决初学者学不懂android,不理解android的设计
    对计算机模拟人脑的一个小想法
    [每日一题] 11gOCP 1z0-052 :2013-09-19 创建用户...................................................B41
    andengine游戏引擎总结基础篇
    hdu 1789 Doing Homework again (贪心)
    poj 3026 (最小生成树)
    autolisp 列表 resbuf
  • 原文地址:https://www.cnblogs.com/fxh19911107/p/2815949.html
Copyright © 2020-2023  润新知