首页 > 其他分享 >求最小整数——全排列实现

求最小整数——全排列实现

时间:2024-07-25 16:00:01浏览次数:20  
标签:10 排列 int 最小 整数 next 最小值 第一行 圆圈

题目描述

11.PNG

如图,将1~10这10个自然数以任意顺序排成一行,填入第一行的10个圆圈中,第二行最中间的圆圈填0,出了这1个圆圈之外,其余每一个圆圈所填的数字都等于它上方与之相连的圆圈中两个数的和,那么第十行的数N最小值是多少?

输入

输出

一个正整数

解题思路

将这个图看成是一个10行10列的二维数组,除了第一行和特点的圈,下面每一行的数字都是上方与之相连的圆圈中两个数的和,所以推出a[i][j]=a[i-1][j]+a[i-1][j+1];

代码

#include<bits/stdc++.h>
using namespace std;
int a[10][10];//定义全局变量的二维数组 
int b[10]={1,2,3,4,5,6,7,8,9,10};//存储1到10的元素 
int t;
int main() 
{
	int MIN=INT_MAX;//定义最小值 
	while(next_permutation(b,b+10))//使用c++的全排列内置函数,next是按照字典序升序排列,prev是降序 
	{
		for(int i=0;i<10;i++)
		{
			a[0][i]=b[i];//先存储第一行的值 
		}
		int i,j;
	for(i=1;i<10;i++)
	for(j=0;j<10-i;j++)
	{
		if(i==1&&j==4)//碰到指定的数跳过 
		continue;
		a[i][j]=a[i-1][j]+a[i-1][j+1];
	}
	t=a[9][0];
	MIN=min(t,MIN); //比较每次排列后第十行数的大小 
	}
	cout<<MIN;
}

运行结果

完结。

标签:10,排列,int,最小,整数,next,最小值,第一行,圆圈
From: https://blog.csdn.net/2301_76268065/article/details/140630026

相关文章

  • 如何将pandas数据框中的timedelta转换为整数
    我正在尝试将timedelta转换为整数。但我收到错误。我不知道如何解决这个问题。有谁知道吗。time=(pd.to_datetime(each_date2)-pd.to_datetime(each_date1))pd.to_numeric(time,downcast='integer')时间具有以下值:Timedelta('7days00:00:00')我在第二行收到......
  • 在 Python 中动态定义文字字符串排列的并集
    我有一个字符串列表:strings=['a','b','c']我想声明列表中所有可能的有序对的Union类型。硬编码,这看起来像:Literal我如何动态定义CustomType=Literal['ab','ac','aa','ba','bb','bc�......
  • Python:__add__ 和 +,浮点数和整数的不同行为
    当将整数值添加到浮点值时,我意识到如果在浮点上调用该方法可以正常工作,例如:__add__但如果在整数上调用则不行:>>>n=2.0>>>m=1>>>n.__add__(m)3.0起初我认为|||只是对>>>m.__add__(n)NotImplemented和__add__类型的实现方式不同(例如f......
  • 【模板】最小圆覆盖
    三点定圆已知三个不在同一直线上的点\((x_1,y_1),(x_2,y_2),(x_3,y_3)\)。请确定过此三点的圆的圆心。设圆心为\((x,y)\),半径为\(r\),则圆的方程为\[(x_i-x)^2+(y_i-y)^2=r^2\]展开得到\[x_i^2-2x_ix+x^2+y_i^2-2y_iy+y^2=r^2\]我们并不需要现在得知\(r\)的具体值......
  • [题解]P3187 [HNOI2007] 最小矩形覆盖
    P3187[HNOI2007]最小矩形覆盖调了半天居然是因为没判断浮点精度误差才\(\colorbox{IndianRed}{\texttt{\color{White}{WA}}}\)了\(3\)个点,其他都没有问题!警钟长鸣……首先有一个结论:凸多边形的最小外接矩形一定和它的一条边重合。这个结论,网上几乎找不到完整的证明,目前发现......
  • 最小生成树(Kruskal和Prim算法)
    最小生成树(Kruskal和Prim算法)部分资料来源于:最小生成树(Kruskal算法)_kruskal算法求最小生成树-CSDN博客、【算法】最小生成树——Prim和Kruskal算法-CSDN博客关于图的几个概念定义:连通图:在无向图中,若任意两个顶点vi与vj都有路径相通,则称该无向图为连通图。强连通图:在有向......
  • 如何解决 TypeError:列表索引必须是整数或切片,而不是 str
    我想建造一个刮刀。我写了这段代码,但它不断出错。如果有人可以提供帮助,我将不胜感激。deffetch_json(api_link,timeout=10):try:response=requests.get(api_link,timeout=timeout)ifresponse.status_code==200:returnresponse.js......
  • 如何使用整数键制作 TypedDict?
    是否可以在TypedDict中使用整数键(类似于dict?)。尝试一个简单的示例:fromtypingimportTypedDictclassMoves(TypedDict):0:int=11:int=2抛出:SyntaxError:illegaltargetforannotation似乎只支持Mapping[str,int......
  • 如何让 Mypy 认识到对两个整数进行排序会返回两个整数
    我的代码如下:fromtypingimportTuplea:Tuple[int,int]=tuple(sorted([1,3]))Mypy告诉我:赋值中的不兼容类型(表达式的类型为“Tuple[int,...]”,变量类型为“Tuple[int,int]”)我做错了什么?为什么Mypy无法弄清楚排序后的元组将返回两个整数?Mypy......
  • 为什么我的exe在pyInstaller之后最小化时消失了
    当在控制台中测试代码时,它运行正常并且所有功能都正常工作,并且在pyInstaller之后问题出现了。当我按下最小化按钮时,图标不会出现在系统托盘中,而是消失,并且通常该程序不在窗口中,但它在后台运行?如果有人可以帮忙:)我只尝试更新pyInstaller和pystray,不知道该怎么做。#-*-m......