QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#39658#2942. 7 Segments You Say?2873531385WA 2ms3620kbC++2.2kb2022-07-12 18:09:202022-07-12 18:09:21

Judging History

你现在查看的是最新测评结果

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2022-07-12 18:09:21]
  • 评测
  • 测评结果:WA
  • 用时:2ms
  • 内存:3620kb
  • [2022-07-12 18:09:20]
  • 提交

answer

#include <iostream>
#include <vector>
#include <string>
using namespace std;


string s[7] = { "XXX     XXX XXX     XXX XXX XXX XXX XXX XXX     XXX     XXX XXX ",
            	"X X   X   X   X X X X   X     X X X X X X X X   X     X X   X   ",
				"X X   X   X   X X X X   X     X X X X X X X X   X     X X   X   ",
				"        XXX XXX XXX XXX XXX     XXX XXX XXX XXX     XXX XXX XXX ",
				"X X   X X     X   X   X X X   X X X   X X X X X X   X X X   X   ",
				"X X   X X     X   X   X X X   X X X   X X X X X X   X X X   X   ",
				"XXX     XXX XXX     XXX XXX     XXX XXX     XXX XXX XXX XXX     "};

string p = "111011101001001011101110110101011101101011111101101001011111111110111101111111111010101001111111001011011001101111101110100100101110111011010101110110101111110110100101111111111011110111111111101010100111111100101101100110111110111010010010111011101101";

int getnum(string & tmp) {
	for (int i = 0; i<=15; ++i) {
		if (tmp==p.substr(i*7, 7))  return i;
	}
	return -1;
}

int main() {
	ios::sync_with_stdio(false);
	cout.tie(0);
	int n;
	cin >>n ;
	// n = 2;
	{
		string ans[7];
		for (int i = 0; i<7; ++i) ans[i] = string(1000, ' '); 
		string in, _in;
		cin >> in;
		if (in.size()%7) _in = string(7-in.size()%7, '0');
		_in+=in;
		int len = _in.size();
		for (int i = 0; i<len; i+=7) {
			string tmp = _in.substr(i, 7);
			int num = getnum(tmp);

			for (int j = 0; j<7; ++j) {
				ans[j][i/7*5] = ' ';
				for (int k = i/7*5+1; k<i/7*5+5; ++k) {
					ans[j][k] = s[j][num*4+k-i/7*5-1];
				}
			}
		}
		int t = 80/(n*5);
		// cout << t << "\n";
		for (int k = 1; k<len/7*5-2; k+=5*t) {
			
			
				for (int i = 0; i<7; ++i) {
					for (int ll = 1; ll<=n; ++ll) {
						for (int j = k; j<k+5*t; ++j) {
							for (int l = 1; l<=n; ++l) cout << ans[i][j];
						}
						cout << "\n";						
					}

				}
				
			cout << "\n";
		}
		// for (int i = 0; i<7; ++i) {
		// 	cout << ans[i].substr(1, len/7*5-2) << "\n";
		// }
	
	}


	return 0;
}

/*
1
111011101001001011101110110101011101101011111101101001011111111110111101111111111010101001111111001011011001101111101110100100101110111011010101110110101111110110100101111111111011110111111111101010100111111100101101100110111110111010010010111011101101
*/

详细

Test #1:

score: 0
Wrong Answer
time: 2ms
memory: 3620kb

input:

1 110111111011

output:

XXX  XXX                                                                        
X    X                                                                          
X    X                                                                          
XXX  XXX                                                 ...

result:

wrong answer 1st lines differ - expected: 'XXX  XXX', found: 'XXX  XXX                      ...                               '