sztuoj1017.火柴人(代码片段)

徒手拆机甲 徒手拆机甲     2022-11-30     461

关键词:

Description

今天,你买了一盒火柴,打算和同学比拼谁能用有限的火柴得到一个最大数字。火柴拼数字规则是,拼出零到九分别需要6、2、5、5、4、5、6、3、7、6个火柴。我们会给你n个不同火柴数,求问不同的火柴数分别最多能组成多大的数字。如果不能组成数字,输出-1。 对于某个特定的火柴数a,求出其能组成的最大的数字

Input

第一行输入一个n,接下来n行每行一个个数a,0<=a<=2^31-1

Output

每行输出一个能组成的最大数字。

Sample Input

3
1
2
4

Sample Output

-1
1
11

Hint

火柴要省着用

Source

SZTU Monthly 2020 Oct.

Author

徒手拆机甲

题目解析

这道题是我出的,题解直接搬过来就好了,这道题目需要考虑一个很显然的贪心策略,即1如果用于进位,他的价值相当于把当前数字乘10+当前数字本身,所以只要有2个火柴我们就尽可能选择1进行输出。而如果给的火柴数是奇数,说明我们按上述策略会留下一根火柴,我们可以发现7和1需要的火柴数只差1根,所以我们可以把位于最高位的1换成7.是一个很基础的贪心题,有时候这种题就需要一些大胆,需要一点思维。

    #include <bits/stdc++.h>
    using namespace std;
    int main() 
        int t,n;
        cin >> t;
        while(t--) 
            cin >> n;
            if(n<=1) printf("-1"),n=0;
            if(n & 1) printf("7"), n -= 3;
            while(n) printf("1"), n -= 2;
            printf("\\n");
        
        return 0;
    

sztuoj1121(代码片段)

SZTUOJ1013-TheAreaofaSectorDescriptionGivenacircleandtwopointsonit,calculatetheareaofthesectorwithitscentralanglenomorethan180degrees.InputTherearemultipletestcases.Eachlinecontains6floatnumbersdenote 查看详情

过分了,别人用来做桌面应用开发,这家伙却用来撩妹--双向奔赴的火柴人(代码片段)

目录一、运动的火柴人。二、跟随移动方向奔跑的火柴人三、自动移动的火柴人可还记得上期我们研究的会奔跑的机器人吗?没错,就是他,整个画面一闪一闪的,非常不好看。而且,只能单项奔跑,不能... 查看详情

过分了,别人用来做桌面应用开发,这家伙却用来撩妹--双向奔赴的火柴人(代码片段)

目录一、运动的火柴人。二、跟随移动方向奔跑的火柴人三、自动移动的火柴人可还记得上期我们研究的会奔跑的机器人吗?没错,就是他,整个画面一闪一闪的,非常不好看。而且,只能单项奔跑,不能... 查看详情

纯css3实现对话框和火柴人(代码片段)

这是一个css的练手作品。效果图:HTML<!DOCTYPEhtml><html><head><metahttp-equiv="content-type"content="text/html;charset=utf-8"/><title>对话框</title> 查看详情

sztuoj1015.闰年(代码片段)

Description闰年(LeapYear)是为了弥补因人为历法规定造成的年度天数与地球实际公转周期的时间差而设立的,补上时间差的年份为闰年。闰年2月有29天,全年共有366天,分为普通闰年和世纪闰年,普通闰年是指公历年份是4的倍数... 查看详情

sztuoj1018.素数(代码片段)

Description质数(Primenumber,又称素数),指在大于1的自然数中,除了1和该数自身外,无法被其他自然数整除的数(也可定义为只有1与该数本身两个正因数的数)。现输入a和b两个数,输出a和b范围内(包括a,b)的所有素数,如... 查看详情

c/c++项目开发:《火柴人游戏》,500行源代码开发(代码片段)

hello,各位学编程的小伙伴们!学习C语言C++已经这么久了,你们的语法知识已经学到哪里了来了呢?不会还只停留在完成学校老师布置的小作业这样的基础层次吧!今天这篇文章主要就是带你突破目前的... 查看详情

取火柴游戏||nim博弈(代码片段)

好久之前看的sg函数了好像就记住一个nim博弈qwq第一次啊看的时候很迷,现在感觉可以了qwq首先我们来看一个其他的游戏。(以下游戏只有两个人参与,且足够聪明)两个人在一张圆形的桌子上放等大的盘子,最后一个无法放盘... 查看详情

p1247取火柴游戏(代码片段)

P1247取火柴游戏题意:有n堆火柴,两个人轮流操作,每次只能在从一堆中取若干火柴,拿走最后一根火柴的为胜者,给你一个状态,问先手是赢是输题解:很经典的nim博弈,结论大家应该都知道就... 查看详情

程序人生|与足球共舞的火柴人(致敬格拉利什,赋予足球更深的意义)(代码片段)

个人简介👀个人主页:前端杂货铺🙋‍♂️学习方向:主攻前端方向,也会涉及到服务端📃个人状态:在校大学生一枚,已拿多个前端offer(秋招)🚀未来打算:为中国的工业软件... 查看详情

过分了,别人用来做桌面应用开发,这家伙却用来撩妹--运动的火柴人(代码片段)

我算是知道了,这个tkinter是真的好玩,还非常有趣,希望大家都可以去了解一下。哈哈,先看成品,再决定是否有学习的兴趣。目录系列文章前言​原理解析需求说明材料图片第一步:实现一个弹框 第二... 查看详情

过分了,别人用来做桌面应用开发,这家伙却用来撩妹--运动的火柴人(代码片段)

我算是知道了,这个tkinter是真的好玩,还非常有趣,希望大家都可以去了解一下。哈哈,先看成品,再决定是否有学习的兴趣。目录系列文章前言​原理解析需求说明材料图片第一步:实现一个弹框 第二... 查看详情

sztuoj1016.zjb学长想要玩!(代码片段)

Descriptionzjb学长虽然是个爱学习的人,但他偶尔也会想要玩,可是他的作业太多了,以至于他不知道要多长时间才能完成作业。于是他找到了聪明的你,请你编写程序计算他完成所有作业需要的时间Input输入共n+1行。第一行为一... 查看详情

向量使用1:pygame编写篮球游戏-火柴人运球避开防守跳起投篮(向量法处理防守者逼近投篮者前进数据)(代码片段)

编写“火柴人运球避开防守跳起投篮”游戏时,未系统学习pygame,边看边编程,并不知道pygame中有向量。游戏中投篮者靠近篮板投篮,防守者逼近防守,向投篮者方向移动若干距离。原计算前进距离的代码没... 查看详情

sztuoj1006.多连块拼图(代码片段)

Description多连块是指由多个等大正方形边与边连接而成的平面连通图形。——维基百科给一个大多连块和小多连块,你的任务是判断大多连块是否可以由两个这样的小多连块拼成。小多连块只能平移,不能旋转或者翻转。两个小... 查看详情

sztuoj1019.总之就是不太可爱(代码片段)

Description“总之就是不太可爱!”zjb学长对字符串很有研究,在他看来有些字符显然不太可爱。某天有几个可爱的女生拿着自己的c语言程序来向zjb请教,这时zjb注意到程序里的有些变量名中有不太可爱的成分,可是他现在要专心... 查看详情

均分火柴(代码片段)

题目火柴厂生产火柴以后,要装盒。现有N个火柴盒要装填火柴,编号分别是1,2,…,N。开始工人在每堆上都随意放了若干根火柴。但是一批次装填的火柴盒要求装填的根数一致,而且都必然能装进火柴盒。所以后续要求在任意盒... 查看详情

火柴游戏(代码片段)

这是一个纵横火柴棒游戏。如图1,在3x4的格子中,游戏的双方轮流放置火柴棒。其规则是:1.不能放置在已经放置了火柴棒的地方(即只能在空格中放置)。2.火柴棒的方向只能是竖直或水平放置。3.火柴棒不能与其它格子中的... 查看详情