ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2022.01.14日总结

2022-01-17 12:32:04  阅读:147  来源: 互联网

标签:总结 00 14 int sum 样例 金币 include 2022.01


上午8:00~12:00

蓝桥杯训练

拿金币

资源限制

时间限制:1.0s 内存限制:256.0MB

问题描述

  有一个N x N的方格,每一个格子都有一些金币,只要站在格子里就能拿到里面的金币。你站在最左上角的格子里,每次可以从一个格子走到它右边或下边的格子里。请问如何走才能拿到最多的金币。

输入格式

  第一行输入一个正整数n。
  以下n行描述该方格。金币数保证是不超过1000的正整数。

输出格式

  最多能拿金币数量。

样例输入

3
1 3 3
2 2 2
3 1 2

样例输出

11

数据规模和约定

 n<=1000

思路:动态规划,每次拿取,应选择最大金币数。

#include <iostream>
#include <cstring>
#include <algorithm>
#include <stdio.h>

using namespace std;

int a[1001][1001] = { 0 };

int main()
{
	int n;
	cin >> n;

	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= n; j++)
		{
			cin >> a[i][j];
		}
	}

	for (int i = 1; i <= n; i++)
	{
		for (int j = 1; j <= n; j++)
		{
			a[i][j] += ((a[i - 1][j] > a[i][j - 1]) ? a[i - 1][j] : a[i][j - 1]);
		}
	}

	cout << a[n][n];

	return 0;
}

数字游戏

资源限制

时间限制:1.0s   内存限制:256.0MB

问题描述

  给定一个1~N的排列a[i],每次将相邻两个数相加,得到新序列,再对新序列重复这样的操作,显然每次得到的序列都比上一次的序列长度少1,最终只剩一个数字。
  例如:
  3 1 2 4
  4 3 6
  7 9
  16
  现在如果知道N和最后得到的数字sum,请求出最初序列a[i],为1~N的一个排列。若有多种答案,则输出字典序最小的那一个。数据保证有解。

输入格式

  第1行为两个正整数n,sum

输出格式

  一个1~N的一个排列

样例输入

4 16

样例输出

3 1 2 4

数据规模和约定

  0<n<=10

 思路:暴力输出,根据数据规模不难发现,直接列出所有可能的情况,然后逐一比较。

#include <iostream>
#include <iomanip>
#include <climits>
#include <algorithm>
#include <cstring>
#include <queue>
using namespace std;
int main()
{
	int a[20], b[20];
	int k = 0, j;
	int n, sum;
	cin >> n >> sum;
	j = n;
	for (int i = 0; i < n; i++)
		a[i] = i + 1;
	do {
		for (int i = 0; i < n; i++) {
			b[i] = a[i];
		}
		while (j > 1) {
			for (int i = 0; i < n - 1; i++) {
				b[i] = b[i] + b[i + 1];
			}
			j--;
		}
		j = n;
		if (b[0] == sum) {
			k = 1;
			break;
		}
	} while (next_permutation(a, a + n));
	if (k == 1) {
		for (int i = 0; i < n; i++)
			cout << a[i] << " ";
	}
	return 0;
}

下午:3:00~6:00  复习高数

标签:总结,00,14,int,sum,样例,金币,include,2022.01
来源: https://blog.csdn.net/qq_62537709/article/details/122537284

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有