https://vjudge.net/problem/CodeForces-1295A
题目大意:最多只能点亮
个位置,问能构成的数最大为多少。
思路:贪心,既然想要构成的数较大,那么自然位数越高越好,列一下每个数的代价,不难发现
是最优选择,它的代价为
,那么如果
是偶数,全选
就完事了,但是
是奇数的时候就不能这样了,因为全选
的话会有
处浪费,而我们发现
的代价是
,所以不妨把首位的
替换为
。
#include<bits/stdc++.h>
#define INF 0x3f3f3f3f
using namespace std;
typedef long long ll;
int main()
{
int t,n;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
int tmp=n>>1;
if(n&1)
--tmp;
if(n&1)
putchar('7');
for(int i=0;i<tmp;i++)
putchar('1');
putchar('\n');
}
return 0;
}