Submission #65066715
Source Code Expand
#pragma GCC optimize("Ofast","unroll-all-loops","fast-math","no-stack-protector")
// #include <bits/stdc++.h>
#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>
#include <string>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <unordered_map>
#include <unordered_set>
using namespace std;
#define fi first
#define se second
#if 1
void __print(int x) {cerr << x;}
void __print(long x) {cerr << x;}
void __print(long long x) {cerr << x;}
void __print(unsigned x) {cerr << x;}
void __print(unsigned long x) {cerr << x;}
void __print(unsigned long long x) {cerr << x;}
void __print(float x) {cerr << x;}
void __print(double x) {cerr << x;}
void __print(long double x) {cerr << x;}
void __print(char x) {cerr << '\'' << x << '\'';}
void __print(const char *x) {cerr << '\"' << x << '\"';}
void __print(const string &x) {cerr << '\"' << x << '\"';}
void __print(bool x) {cerr << (x ? "true" : "false");}
template<typename T, typename V>
void __print(const pair<T, V> &x) {cerr << '{'; __print(x.first); cerr << ','; __print(x.second); cerr << '}';}
template<typename T>
void __print(const T &x) {int f = 0; cerr << '['; for (auto &i: x) cerr << (f++ ? "," : ""), __print(i); cerr << "]";}
void _print() {cerr << endl << flush;}
template <typename T, typename... V>
void _print(T t, V... v) {__print(t); if (sizeof...(v)) cerr << ", "; _print(v...);}
#define DEBUG(x...) cerr << "*["<<__LINE__<<"]\t"<< #x << " = "; _print(x)
template<class T>
istream& operator>>(istream& is, vector<T>& v) {
int n; is>>n; v.resize(n);
for(auto &i:v) is>>i;
return is;
}
template<class T1,class T2>
istream& operator>>(istream& is, pair<T1,T2>& p) {
is>>p.fi>>p.se;
return is;
}
template<class T>
ostream& operator<<(ostream& os, const vector<T>& v) {
for(const auto &i:v) os<<i<<' ';
return os;
}
template<class T1,class T2>
ostream& operator<<(ostream& os, const pair<T1,T2>& p) {
os<<p.fi<<' '<<p.se; return os;
}
#endif
#define ll long long
#define mp make_pair
#define pb push_back
#define vi vector<ll>
#define pi pair<int, int>
#define L __int128
template<typename T> bool chkmin(T &a, T b){return (b < a) ? a = b, 1 : 0;}
template<typename T> bool chkmax(T &a, T b){return (b > a) ? a = b, 1 : 0;}
const int maxn = 105;
ll cnt[maxn][maxn];
int main() {
int n;
ll k;
cin >> n >> k;
k -= 1;
cnt[1][1] = k;
for (int i = 1; i <= n; i++)
for (int j = 1; j <= n; j++) {
if (i + j == 2 * n) break;
ll ds = 0, rs = 0, cur = cnt[i][j];
if (i + j <= n) {
// i * D + j * R
ll pr = cur / (i + j);
cur -= pr * (i + j);
ds += pr * i;
rs += pr * j;
for (int m = 1; m <= cur; m++) {
if (m <= i) ds++;
else rs++;
}
}
else {
// (n - j) * R + (n - i) * D
ll pr = cur / (n - i + n - j);
cur -= pr * (n - i + n - j);
ds += pr * (n - i);
rs += pr * (n - j);
for (int m = 1; m <= cur; m++) {
if (m <= n - j) rs++;
else ds++;
}
}
cnt[i + 1][j] += ds;
cnt[i][j + 1] += rs;
}
int i = 1, j = 1;
while (i + j < 2 * n) {
int mv = 0;
if (i == n) mv = 1;
else if (j == n) mv = 0;
else {
if (cnt[i + 1][j] <= cnt[i][j + 1]) mv = 0;
else mv = 1;
}
if (mv == 0) {
i++;
cout << "D";
}
else {
j++;
cout << "R";
}
}
cout << endl;
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | C - Human Exercise |
| User | newbiedmy |
| Language | C++ 20 (gcc 12.2) |
| Score | 1100 |
| Code Size | 3882 Byte |
| Status | AC |
| Exec Time | 2 ms |
| Memory | 3736 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 1100 / 1100 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample-01.txt, sample-02.txt |
| All | 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 02-13.txt, 02-14.txt, 02-15.txt, 02-16.txt, 02-17.txt, 02-18.txt, 02-19.txt, 02-20.txt, 03-01.txt, 03-02.txt, 03-03.txt, 03-04.txt, 03-05.txt, 03-06.txt, 03-07.txt, 03-08.txt, sample-01.txt, sample-02.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 01-01.txt | AC | 1 ms | 3508 KiB |
| 01-02.txt | AC | 1 ms | 3384 KiB |
| 01-03.txt | AC | 1 ms | 3472 KiB |
| 01-04.txt | AC | 1 ms | 3508 KiB |
| 01-05.txt | AC | 1 ms | 3452 KiB |
| 01-06.txt | AC | 1 ms | 3576 KiB |
| 01-07.txt | AC | 1 ms | 3512 KiB |
| 01-08.txt | AC | 1 ms | 3472 KiB |
| 01-09.txt | AC | 1 ms | 3456 KiB |
| 01-10.txt | AC | 1 ms | 3452 KiB |
| 01-11.txt | AC | 1 ms | 3520 KiB |
| 01-12.txt | AC | 1 ms | 3488 KiB |
| 01-13.txt | AC | 1 ms | 3604 KiB |
| 01-14.txt | AC | 1 ms | 3608 KiB |
| 01-15.txt | AC | 1 ms | 3484 KiB |
| 01-16.txt | AC | 2 ms | 3516 KiB |
| 01-17.txt | AC | 1 ms | 3532 KiB |
| 01-18.txt | AC | 2 ms | 3580 KiB |
| 01-19.txt | AC | 2 ms | 3652 KiB |
| 01-20.txt | AC | 2 ms | 3736 KiB |
| 02-01.txt | AC | 1 ms | 3656 KiB |
| 02-02.txt | AC | 1 ms | 3448 KiB |
| 02-03.txt | AC | 1 ms | 3572 KiB |
| 02-04.txt | AC | 1 ms | 3504 KiB |
| 02-05.txt | AC | 1 ms | 3464 KiB |
| 02-06.txt | AC | 1 ms | 3512 KiB |
| 02-07.txt | AC | 1 ms | 3464 KiB |
| 02-08.txt | AC | 1 ms | 3512 KiB |
| 02-09.txt | AC | 1 ms | 3580 KiB |
| 02-10.txt | AC | 1 ms | 3472 KiB |
| 02-11.txt | AC | 1 ms | 3576 KiB |
| 02-12.txt | AC | 1 ms | 3572 KiB |
| 02-13.txt | AC | 1 ms | 3508 KiB |
| 02-14.txt | AC | 1 ms | 3444 KiB |
| 02-15.txt | AC | 1 ms | 3512 KiB |
| 02-16.txt | AC | 1 ms | 3504 KiB |
| 02-17.txt | AC | 1 ms | 3468 KiB |
| 02-18.txt | AC | 1 ms | 3452 KiB |
| 02-19.txt | AC | 1 ms | 3516 KiB |
| 02-20.txt | AC | 1 ms | 3580 KiB |
| 03-01.txt | AC | 1 ms | 3508 KiB |
| 03-02.txt | AC | 1 ms | 3652 KiB |
| 03-03.txt | AC | 1 ms | 3480 KiB |
| 03-04.txt | AC | 1 ms | 3464 KiB |
| 03-05.txt | AC | 2 ms | 3492 KiB |
| 03-06.txt | AC | 2 ms | 3528 KiB |
| 03-07.txt | AC | 1 ms | 3468 KiB |
| 03-08.txt | AC | 2 ms | 3488 KiB |
| sample-01.txt | AC | 1 ms | 3520 KiB |
| sample-02.txt | AC | 1 ms | 3512 KiB |