【贪心】codeforces 825D Suitable Replacement
来源:互联网 发布:java怎么调用外部接口 编辑:程序博客网 时间:2024/05/23 22:03
Link:http://codeforces.com/problemset/problem/825/D
#include <bits/stdc++.h>using namespace std;/*codeforces 825D题意:给两个字符串,第一个字符串带有'?',可以变成任何一个字符,并且第一个字符串的字符位置可以任意交换,问第一个字符是怎么样的才能使,第二个字符在第一个字符中存在(非交叉)次数最多。题解:贪心,反正可以任意交换,而且字符非交叉,我一个一个组第二个字符串,需要什么字符,如果第一个字符串里有,拿过来,没有用'?'去代替即可。记录'?'代表的字符。*/const int Maxn = 1e6+6;char s[Maxn],p[Maxn];int mp[27];char res[Maxn];int main(){ scanf("%s%s",s,p); int len = strlen(s); int num = 0; for(int i = 0; i < 26; i++) mp[i] = 0; for(int i = 0; i < len; i++){ if(s[i] == '?') num++; else mp[s[i]-'a']++; } int lenp = strlen(p); int k = 0; while(1){ int flag = 0; for(int i = 0; i < lenp; i++){ if(mp[p[i]-'a'] > 0) mp[p[i]-'a'] --; else{ if(num > 0){ res[k++] = p[i]; num--; } else{ flag = 1; break; } } } if(flag) break; } k = 0; for(int i = 0; i < len; i++){ if(s[i] == '?') printf("%c",res[k++]); else printf("%c",s[i]); } puts(""); return 0;}
阅读全文
0 0
- Codeforces 825D Suitable Replacement【贪心】水题
- 【贪心】codeforces 825D Suitable Replacement
- Codeforces 825 D Suitable Replacement
- codeforces 825D Suitable Replacement(字母代替?贪心)
- Educational Codeforces Round 25 D Suitable Replacement 贪心
- Educational Codeforces Round 25 D. Suitable Replacement
- Educational Codeforces Round 25 D. Suitable Replacement
- Code Force 825D Suitable Replacement
- Educational Codeforces Round 25 D. Suitable Replacement【二分】
- codeforces825 D. Suitable Replacement 二分答案
- CodeForces 825D(贪心)
- codeforces825D-Suitable Replacement
- CF825D:Suitable Replacement(字符串)
- CodeForces 545D贪心
- codeforces 276D 贪心
- CodeForces-748D 贪心
- Codeforces 758D 贪心
- Codeforces 767D 贪心
- printf(s) 与 printf("%s",s) 区别
- C语言简单实现:将C注释转化为C++注释
- 多线程与多核执行效率
- Python语言基础
- Spring bean的生命周期(初步)
- 【贪心】codeforces 825D Suitable Replacement
- Hibernate Validator参数校验
- 素数筛选:HDU2710-Max Factor
- (2017多校训练第二场)HDU
- MOOC清华《程序设计基础》第7章:统计在线时长
- 多线程与多进程 执行效率
- 链接收藏3
- Struts转换器和错误提示
- 记一次获得 3 倍性能的 Go 程序优化实践,及 on-cpu / off-cpu 火焰图的使用