poj 1171(每个字母都不能超过标程的次数,即:不能出现标程没有的字母,标程有的字母出现次数不能超过标程)
#include<iostream> #include<algorithm> #include<cstring> #include<cstdio> using namespace std; int data[26] = {2,5,4,4,1,6,5,5,1,7,6,3,5,2,3,5,7,2,1,2,4,6,6,7,5,7}; int sum; int score_target[26],score[26]; void pan(char target[][8],int count){ for(int i=0;i<count;i++){ int sum_t = 0; memset(score_target,0,sizeof score_target); for(int j=0;j<strlen(target[i]);j++){ int t = target[i][j]-'a'; if(score_target[t]<score[t]){ sum_t += data[t]; score_target[t]++; } else{ sum_t = 0; break; } } if(sum<sum_t){ sum = sum_t; } } } int main(){ char source[10],target[40005][8],target_len3[40005][4],target_len4[40005][5],target_len33[40005][8],target_len34[40005][8]; int len[40005],count,count3,count4,count33,count34; scanf("%s",source); memset(score,0,sizeof score); for(int i=0;i<strlen(source);i++){ score[source[i]-'a']++; } count = 0; count3 = 0; count4 = 0; while(scanf("%s",target[count])!=EOF&&strcmp(target[count],".")!=0){ len[count] = strlen(target[count]); bool flag = true; for(int i=0;i<len[count];i++){ if(score[target[count][i]-'a']==0){ flag = false; break; } } if(flag){ if(len[count]==3){ strcpy(target_len3[count3++],target[count]); } if(len[count]==4){ strcpy(target_len4[count4++],target[count]); } count++; } } count33 = 0; for(int i=0;i<count3-1;i++){ for(int j=i+1;j<count3;j++){ strcpy(target_len33[count33],target_len3[i]); strcat(target_len33[count33++],target_len3[j]); } } count34 = 0; for(int i=0;i<count3;i++){ for(int j=0;j<count4;j++){ strcpy(target_len34[count34],target_len3[i]); strcat(target_len34[count34++],target_len4[j]); } } sum = 0; pan(target_len33,count33); pan(target_len34,count34); pan(target,count); printf("%d\n",sum); return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)