Processing math: 100%
ORIGIN

CodeForces 1295 A Display The Number

ACM 2 mins455 words
A. Display the Number
time limit per test: 1 second
memory limit per test: 256 megabytes
input: standard input
output:standard output

You have a large electronic screen which can display up to 998244353 decimal digits. The digits are displayed in the same way as on different electronic alarm clocks: each place for a digit consists of 7 segments which can be turned on and off to compose different digits. The following picture describes how you can display all 10 decimal digits:

As you can see, different digits may require different number of segments to be turned on. For example, if you want to display 1, you have to turn on 2 segments of the screen, and if you want to display 8, all 7 segments of some place to display a digit should be turned on.

You want to display a really large integer on the screen. Unfortunately, the screen is bugged: no more than n segments can be turned on simultaneously. So now you wonder what is the greatest integer that can be displayed by turning on no more than n segments.

Your program should be able to process t different test cases.

Input

The first line contains one integer t(1t100) — the number of test cases in the input.

Then the test cases follow, each of them is represented by a separate line containing one integer n(2n105) — the maximum number of segments that can be turned on in the corresponding testcase.

It is guaranteed that the sum of n over all test cases in the input does not exceed 105.

Output

For each test case, print the greatest integer that can be displayed by turning on no more than n segments of the screen. Note that the answer may not fit in the standard 32-bit or 64-bit integral data type.

Example

input

PLAINTEXT
1
2
3
2
3
4

output

PLAINTEXT
1
2
7
11

Analysis

The more number it can lighten, the longer digits it can have. So,

1 uses the less segments.

We make 1 as many as possible. If there are still segments left that can’t make a complete 1, we break up one 1 and let it form 7 with the rest.(the rest could only be 1 or 0 because 1 uses two segments)

Code

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include<bits/stdc++.h>

using namespace std;

int main() {
int t;
cin >> t;
while (t--) {
int n;
cin >> n;
int digits1 = n / 2;
if(n % 2 == 1) {
cout << 7;
for(int i = 1; i < digits1; i ++) {
cout << 1;
}
} else {
for(int i = 0; i < digits1; i ++) {
cout << 1;
}
}
cout << endl;
}
return 0;
}
Powered By Valine
v1.5.1
TOP
COMMENT
  • ABOUT
  • |
o_oyao
  The Jigsaw puzzle is incomplete with even one missing piece. And I want to be the last piece to make the puzzle complete.
Like my post?
Default QR Code
made with ❤️ by o_oyao
©o_oyao 2019-2025

31044 | 26
Preview