#include <cstdio>
#include <algorithm>
#include <iostream>
#include <map>
#include <queue>
using namespace std;
struct G{
int up, down;
}g[10001][1001];
int d[10001][1001];
int ansx, ansy;
int n, x = 1;
int main() {
cin >> n;
for(int i=1; i<=1000; i++) {
for(int j=1; j<=10000; j++) {
g[i][j].up = i;
g[i][j].down = j;
}
}
int size = 1;
for(int i=1; i<=10000; i++) {
int t1 = i;
x^=1;
int t2 = 1;
if(x) {
while(t1>=1) {
d[t2++][t1--] = size;
if(size == n) {
ansx = t2-1;
ansy = t1+1;
cout << g[ansx][ansy].up<<"/"<<g[ansx][ansy].down;
return 0;
}
size++;
}
} else {
while(t1>=1) {
d[t1--][t2++] = size;
if(size == n) {
ansx = t1+1;
ansy = t2-1;
cout << g[ansx][ansy].up<<"/"<<g[ansx][ansy].down;
return 0;
}
size++;
}
}
}
return 0;
}
洛谷P1014 Cantor表 - 模拟
最新推荐文章于 2024-05-14 21:45:13 发布

549

被折叠的 条评论
为什么被折叠?



