Submission #315050

#TimeUsernameProblemLanguageResultExecution timeMemory
315050yjojdkgk5bpCostinland (info1cup19_costinland)C++14
0 / 100
1 ms332 KiB
#include <bits/stdc++.h> #define ll long long #define sec second #define ft first #define pb push_back using namespace std; ll k,dp[50][50],sum1[50][50],sum2[50][50],mx,a,b; vector<pair<int,int>> p; int ans[50][50]; int main() { cin >> k; dp[0][1]=1; for(int i=1; i<33; i++) for(int j=1; j<33; j++) { dp[i][j]=dp[i-1][j]+dp[i][j-1]; sum1[i][j]=sum1[i-1][j]+dp[i][j]; sum2[i][j]=sum2[i][j-1]+dp[i][j]; ll v=sum1[i][j]+sum2[i][j]; if(sum1[i][j]+sum2[i][j]<=k && i>=j &&max(i,j)<=5 && (mx<v || (mx==v&&max(i,j)<max(a,b)))) mx=v,a=i,b=j; }/* for(int i=32; i&&k; i--) for(int j=i; j&&k; j--) { if(sum1[i][j]+sum2[i][j]<=k) {// k-=sum1[i][j]+sum2[i][j]; p.pb({i,j}); } }*/ k-=mx; if(k) { cout << a+1 << ' ' << b+3 << '\n'; for(int i=0; i<=a; cout<<'\n',i++) for(int j=0; j<=b+2; j++) { if(i==a&&j==b+2) cout << '.'; else if(i==a) cout << 'r'; else if(j==b || j==b+2) cout << 'd'; else if(j==b+1 && i>=k) cout << 'd'; else cout<<'X'; } } else { cout << a+1 << ' ' << b+1 << '\n'; for(int i=0; i<=a; cout<<'\n',i++) for(int j=0; j<=b; j++) { if(i==a&&j==b) cout << '.'; else if(i==a) cout << 'r'; else if(j==b) cout << 'd'; else cout << 'X'; } } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...