Simple String

Problem's Link:   http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1550


Mean:

略。

analyse:

水题。

Time complexity: O(n)

Source code: 

  1. // Memory Time
  2. // 1347K 0MS
  3. // by : crazyacking
  4. // 2015-03-29-12.08
  5. #include<map>
  6. #include<queue>
  7. #include<stack>
  8. #include<cmath>
  9. #include<cstdio>
  10. #include<vector>
  11. #include<string>
  12. #include<cstdlib>
  13. #include<cstring>
  14. #include<climits>
  15. #include<iostream>
  16. #include<algorithm>
  17. #define MAXN 1000010
  18. #define LL long long
  19. using namespace std;
  20. int main()
  21. {
  22. ios_base::sync_with_stdio(false);
  23. cin.tie();
  24. // freopen("C:\\Users\\Devin\\Desktop\\cin.cpp","r",stdin);
  25. // freopen("C:\\Users\\Devin\\Desktop\\cout.cpp","w",stdout);
  26. string a,b,c;
  27. while(cin>>a>>b>>c)
  28. {
  29. bool flag=true;
  30. int len=a.length();
  31. int aa[],bb[],cc[],dd[];
  32. memset(aa,,sizeof aa),memset(bb,,sizeof bb),memset(cc,,sizeof cc),memset(dd,,sizeof dd);
  33. for(int i=;i<len;++i)
  34. {
  35. aa[a[i]-'A']++;
  36. bb[b[i]-'A']++;
  37. cc[c[i]-'A']++;
  38. }
  39. for(int i=;i<;++i)
  40. {
  41. if(aa[i]+bb[i]<cc[i])
  42. {
  43. flag=false;
  44. puts("NO");
  45. break;
  46. }
  47. }
  48. if(!flag) continue;
  49. for(int i=;i<;++i)
  50. {
  51. dd[i]=cc[i]-aa[i];
  52. }
  53. int sum=;
  54. for(int i=;i<;++i)
  55. {
  56. if(dd[i]>)
  57. {
  58. sum+=dd[i];
  59. if(dd[i]>bb[i])
  60. {
  61. flag=false;
  62. break;
  63. }
  64. }
  65.  
  66. }
  67. if(!flag)
  68. {
  69. puts("NO");
  70. continue;
  71. }
  72. int half=len/;
  73. sum=;
  74. for(int i=;i<;++i)
  75. {
  76. if(dd[i]<=)
  77. {
  78. sum+=min(bb[i],cc[i]);
  79. }
  80. else
  81. {
  82. sum+=min(bb[i],cc[i]);
  83. }
  84. }
  85. if(sum>=half)
  86. {
  87. puts("YES");
  88. continue;
  89. }
  90. else
  91. {
  92. puts("NO");
  93. continue;
  94. }
  95. }
  96. return ;
  97. }
  98. /*
  99.  
  100. */
  101. /**************************************************************
  102. Problem: 1550
  103. User: crazyacking
  104. Language: C++
  105. Result: Accepted
  106. Time:8 ms
  107. Memory:1976 kb
  108. ****************************************************************/

 

Water --- CSU 1550: Simple String的更多相关文章

  1. CSU - 1550 Simple String —— 字符串

    题目链接:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1550 题解: 1.A+B 与C的交集必须>=n 2.A与C的交集必须>= ...

  2. 1550: Simple String (做得少的思维题,两个字符串能否组成另外一个字符串问题)

    1550: Simple String Submit Page    Summary    Time Limit: 1 Sec     Memory Limit: 256 Mb     Submitt ...

  3. 1550: Simple String 最大流解法

    http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1550 很久以前做的一题,当时队友用最大流做,现在我也是 这个转化为二分图多重匹配,就是一样的意 ...

  4. csu 1550(字符串处理思路题)

    1550: Simple String Time Limit: 1 Sec  Memory Limit: 256 MBSubmit: 481  Solved: 211[Submit][Status][ ...

  5. (比赛)A - Simple String Problem

    A - Simple String Problem Time Limit:10000MS     Memory Limit:65536KB     64bit IO Format:%lld & ...

  6. FZU - 2218 Simple String Problem(状压dp)

    Simple String Problem Recently, you have found your interest in string theory. Here is an interestin ...

  7. D - Simple String CSU - 1550

    http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1550 很久都没补这题,最近想学网络流,就看看,队友以前用网络流过的,Orz, 但是这题只需要简 ...

  8. FZU 2218 Simple String Problem(简单字符串问题)

    Description 题目描述 Recently, you have found your interest in string theory. Here is an interesting que ...

  9. csu oj 1341 string and arrays

    Description 有一个N*N的字符矩阵,从上到下依次记为第1行,第2行,……,第N行,从左至右依次记为第1列,第2列,……,第N列. 对于这个矩阵会进行一系列操作,但这些操作只有两类: (1) ...

随机推荐

  1. android studio 修改成自己jks(keystore)签名文件

    项目中有微信分享和微信支付,微信支付后台设置是正式签名md5值不便调试,最初直接在后台创建二个应用一个测试一个正式的,但二个人同时开发这个测试版本的md5又遇到麻烦,所以想到android studi ...

  2. 将w3cplus网站中的文章页面提取并导出为pdf文档

    最近在看一些关于CSS3方面的知识,主要是平时看到网页中有很多用CSS3实现的很炫的效果,所以就打算系统的学习一下.在网上找到很多的文章,但都没有一个好的整理性,比较凌乱.昨天看到w3cplus网站中 ...

  3. 伪装MAC地址

    一.界面操作法 打开"网上邻居",右键属性"本地连接",点击配置 选择"高级",再选"网路卡位址"(不同系统名字略不同) ...

  4. Swift 通用类型和通用函数 | Generic type and function

    如果你想交换两个变量的值: 1. 整型 func swapTwoInts(inout a: Int, inout b: Int) { let temporaryA = a a = b b = temp ...

  5. Android-NDK编译:cocos2d-x(三) eclipse 导入工程

    NDK 编译后,用eclipse导入cocos2d-x工程 菜单[File]-->[New]-->[Project] ,弹出New Project 对话框 窗口下方 选 [Android] ...

  6. ITF Demo代码(用VBScript构建的接口测试框架)

    ITF Demo代码(用VBScript构建的接口测试框架) http://blog.csdn.net/testing_is_believing/article/details/20872629

  7. HTML5应用程序缓存Application Cache详解

    什么是Application Cache HTML5引入了应用程序缓存技术,意味着web应用可进行缓存,并在没有网络的情况下使用,通过创建cache manifest文件,可以轻松的创建离线应用. A ...

  8. MemCached用法

    所需要的jar包: com.danga.MemCached.MemCachedClient com.danga.MemCached.SockIOPool 自行下载/** * 缓存服务器集群,提供缓存连 ...

  9. JDK的下载、安装及环境变量的配置

    官网下载JDK: www.oracle.com 或者 www.java.sun.com   安装JDK: 双击运行下载的 jdk-8u25-windows-i586.exe即可. 假设安装目录为:D: ...

  10. (转)linux文件读写的流程

    转自http://hi.baidu.com/_kouu/item/4e9db87580328244ef1e53d0 在<linux内核虚拟文件系统浅析>这篇文章中,我们看到文件是如何被打开 ...