Letters[Codeforces-43B]

https://vjudge.net/problem/CodeForces-43B

Letters 43B
Codeforces Beta Round #42 (Div. 2)

时间限制 2000ms 内存限制 256MB

题目表述比较啰嗦,大意就是能不能用给定的字符串S1中的所有字符构成另一个字符串S2。只需要统计S1中每个字符出现的频率次数,在构造第二个串S2时,判断由S1提供的字符够不够用即可。至于统计结果的存放,依然使用到了ASCII码的下标对应关系。

 1 #include<iostream>
 2 using namespace std;
 3 char str1[1000], str2[1000];
 4 int letters[256] = { 0 };
 5 int main()
 6 {
 7     cin.getline(str1, 1000);
 8     cin.getline(str2, 1000);
 9     int i;
10     for (i = 0; str1[i] != 0; i++)
11         letters[str1[i]]++;
12     for (i = 0; str2[i] != 0; i++)
13     {
14         if (str2[i] != ' ')
15         {
16             letters[str2[i]]--;
17             if (letters[str2[i]] < 0)
18             {
19                 printf("NO");
20                 return 0;
21             }
22         }
23     }
24     printf("YES");
25     return 0;
26 }
原文地址:https://www.cnblogs.com/ggggg63/p/6715085.html