Yuvxang @ 2024-07-23 10:36:42
和题解差不多的打表思路,看测试点没有什么问题
#include <iostream>
#include <string>
#include <cstdio>
using namespace std;
int main(void){
string I, II, III, IV, V;
string a = "XXX";
string b = "..X";
string c = "X.X";
string d = "X..";
char dot = '.';
int n;
cin >> n;
getchar();
string s;
getline(cin, s);
for(int i = 0;i < n;i++){
int num = s[i] - '0';
if(num == 0){
I += a;
II += c;
III += c;
IV += c;
V += a;
}
else if(num == 1){
I += b;
II += b;
III += b;
IV += b;
V += b;
}
else if(num == 2){
I += a;
II += b;
III += a;
IV += d;
V += a;
}
else if(num == 3){
I += a;
II += b;
III += a;
IV += b;
V += a;
}
else if(num == 4){
I += c;
II += c;
III += a;
IV += b;
V += b;
}
else if(num == 5){
I += a;
II += d;
III += a;
IV += b;
V += a;
}
else if(num == 6){
I += a;
II += d;
III += a;
IV += c;
V += a;
}
else if(num == 7){
I += a;
II += b;
III += b;
IV += b;
V += b;
}
else if(num == 8){
I += a;
II += c;
III += a;
IV += c;
V += a;
}
else if(num == 9){
I += a;
II += c;
III += a;
IV += b;
V += a;
}
if(i != n - 1)
{
I += dot;
II += dot;
III += dot;
IV += dot;
V += dot;
}
}
cout << I << endl;
cout << II << endl;
cout << III << endl;
cout << IV << endl;
cout << V << endl;
return 0;
}
输入 6 114514
输出为下
..X...X.X.X.XXX...X.X.X
..X...X.X.X.X.....X.X.X
..X...X.XXX.XXX...X.XXX
..X...X...X...X...X...X
..X...X...X.XXX...X...X
by QAQ_liu @ 2024-07-23 10:50:33
@Yuvxang emm,你看下我的打表
#include<bits/stdc++.h>
using namespace std;
char a[10][5][3]={
{
'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','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',
'X','X','X',
},
{
'X','X','X',
'X','.','X',
'X','X','X',
'.','.','X',
'X','X','X',
}
};
int n;
string s;
int main(){
cin>>n;
cin>>s;
for(int i=0;i<5;i++){
for(int j=0;j<n;j++){
for(int k=0;k<3;k++){
cout<<a[s[j]-'0'][i][k];
}
if(j!=n-1) cout<<'.';
}
cout<<"\n";
}
return 0;
}
by Yuvxang @ 2024-07-23 11:23:32
我的代码和你的结果一样的,还是没有看出区别来,估计是格式问题吧。 谢谢大神
..X...X.X.X.XXX...X.X.X
..X...X.X.X.X.....X.X.X
..X...X.XXX.XXX...X.XXX
..X...X...X...X...X...X
..X...X...X.XXX...X...X
by amd47802574 @ 2024-07-26 09:05:32
你试试把这地方改下
getchar();
string s;
getline(cin, s);
全改成
string s;
cin>>s;
by Yuvxang @ 2024-08-12 07:14:59
@amd47802574 这样就过了,谢谢佬