【无标题】

cpp 复制代码
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
int f[101][25];
int main()
{
	int a[101]={0,534, 386, 319, 692, 169, 338, 521, 713, 640, 692, 969, 362, 311, 349, 308, 357, 515, 140, 591, 216,57, 252, 575, 630, 95, 274, 328, 614, 18, 605, 17, 980, 166, 112, 997, 37, 584, 64, 442, 495,821, 459, 453, 597, 187, 734, 827, 950, 679, 78, 769, 661, 452, 983, 356, 217, 394, 342, 697, 878,475, 250, 468, 33, 966, 742, 436, 343, 255, 944, 588, 734, 540, 508, 779, 881, 153, 928, 764, 703,459, 840, 949, 500, 648, 163, 547, 780, 749, 132, 546, 199, 701, 448, 265, 263, 87, 45, 828, 634};
	
	for(int i=1;i<=100;i++){
		int d=a[i]%24;
		f[i][d]=max(f[i][d],max(f[i-1][0]+a[i],f[i-1][d]));
		for(int x=1;x<24;x++){
			if(f[i-1][x])f[i][(x+d)%24]=max(f[i][(x+d)%24],max(f[i-1][x]+a[i],f[i-1][(x+d)%24]));
			else f[i][(x+d)%24]=f[i-1][(x+d)%24];
		}
	}
	cout<<f[100][0]<<endl;
	return 0;
}

来源:第十六届蓝桥杯模拟赛(第二期)c++答案与代码_小蓝准备请自己的朋友吃饭。小蓝朋友很多,最终吃饭的人总数达 2024 人(包括他自己-CSDN博客

相关推荐
Java成神之路-12 小时前
【算法刷题笔记】全题型导航目录
笔记·算法
爱写代码的倒霉蛋12 小时前
2022年天梯赛L1-8真题解析(哈希+排序)
数据结构·算法
代码中介商13 小时前
顺序表完全指南:从原理到实现
数据结构·顺序表
Struggle_975513 小时前
算法知识-倍增算法
算法
计算机安禾13 小时前
【计算机网络】第5篇:网桥学习与生成树算法——环路拓扑中的路径收敛问题
学习·计算机网络·算法
CoderCodingNo13 小时前
【信奥业余科普】C++ 的奇妙之旅 | 19:内存的门牌号——地址与指针的设计原理
开发语言·c++
fie888913 小时前
基于遗传算法的机械故障诊断MATLAB程序
算法·机器学习·matlab
澈20713 小时前
C++ list容器完全指南
数据结构·c++·链表
nlpming13 小时前
opencode MCP(Model Context Protocol)配置手册
算法