【无标题】

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博客

相关推荐
青少儿编程课堂6 分钟前
图形化编程实战:智能交通灯调度台,一个作品讲透循环、条件与广播
c++·python·算法·bfs·信息学竞赛
evans在进步9 分钟前
LeetCode 438 找到字符串中所有字母异位词:滑动窗口与排序解法详解
算法·leetcode·职场和发展
赵民勇10 分钟前
C++无锁编程详解
c++
M78佐菲13 分钟前
Linux多线程:创建、回收与互斥同步
linux·笔记·学习·算法
醉颜凉14 分钟前
C++ 中野指针与悬挂指针的区别:从成因到防范,彻底讲清两种危险指针
c++
Demon--hx17 分钟前
设计不能被继承的类
开发语言·c++
小手cool18 分钟前
使用递归对数组进行反转操作
java·数据结构·算法
兔兔兔兔129 分钟前
记录C++ 13
开发语言·c++·算法
码行山野赴时序归途34 分钟前
从暴力到最优:三道 C 语言入门题的解法思路
c语言·开发语言·数据结构·算法·leetcode·排序算法
土司大王35 分钟前
LeetCode hot100——随机链表的复制
算法·leetcode·链表