题目:
输入可能给你两种数据,先输入一个长度,长度为输入数的绝对值
- 如果数为负给出四分数有多少黑色节点,注意黑色节点下不再有分支,每个黑色节点的值为从四分树的顶部走到该节点走过路径的数字排好的五进制转十进制数,例如 若一个黑色节点由四分树的顶部先走 NW 再走 NE 那么值就为 21(越顶部的数字在越后面) (NW ,NE, SW, SE 分别表示1,2,3,4)对应的十进制就为 11。给出的黑色节点的值初始为10进制,要转成5进制,然后得到图的0和1,然后绘画出来
- 如果为正数,那就是给出一副图,然后退出所有的黑色节点的十进制然后写出来,本题输出格式挺多坑,建议uDebug后在提交。
要点:
- 注意一下格式即可,模拟题。
#include<bits/stdc++.h>
using namespace std;
const int maxn = 64;
char pic[maxn][maxn];
vector<int> ans;
int kase = 0;
string tenToFive(int x) {
string ret;
while (x) {
ret += x % 5 + '0';
x /= 5;
}
return ret; //倒着的
}
void transformToPic(int n) {
cout << "Image " << ++kase << endl;
memset(pic, '.', sizeof(pic));
vector<int> data;
int x;
while (cin >> x && x != -1)
data.push_back(x);
for (auto& num : data) {
string s = tenToFive(num