답안 #755802

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
755802 2023-06-10T16:17:42 Z DJeniUp Costinland (info1cup19_costinland) C++17
67.4422 / 100
1 ms 468 KB
#include "bits/stdc++.h"
#pragma GCC optimize("Ofast")
#pragma GCC optimize("O3")
 
using namespace std;
 
typedef long long ll;
typedef unsigned long long ull;
typedef pair<ll,ll>pairll;
typedef pair<ll,ull>pairull;
typedef pair<ll,pairll>pair3l;
typedef long double ld;
typedef pair<ld,ll>pairld;
 
#define fr first
#define sc second
#define pb push_back
#define endl '\n'
#define N 100007
//#define MOD 998244353
#define INF 1000000000000000007
#define eps 0.0000000001
 
ll t,n,d[107][107],f[107][107],u[107][107],l[107][107];

int main(){
    
    cin>>t;
    //f[1][1]=1;
    u[1][1]=1;
    t--;
    n=2;
    for(int i=1;i<n;i++){
        for(int j=1;j<i;j++){
            f[j][i]=u[j][i]+l[j][i];
            f[i][j]=u[i][j]+l[i][j];
            f[j][i]=min(f[j][i],ll(INF));
            f[i][j]=min(f[i][j],ll(INF));
            if(t>=f[j][i]){
                d[j][i]=1;
                u[j+1][i]+=f[j][i];
                l[j][i+1]+=f[j][i];
                t-=f[j][i];
            }else{
                d[j][i]=2;
                u[j+1][i]+=f[j][i];
            }
            
            if(t>=f[i][j]){
                d[i][j]=1;
                u[i+1][j]+=f[i][j];
                l[i][j+1]+=f[i][j];
                t-=f[i][j];
            }else{
                d[i][j]=3;
                l[i][j+1]+=f[i][j];
            }
        }
        f[i][i]=u[i][i]+l[i][i];
        f[i][i]=min(f[i][i],ll(INF));
        if(t>=f[i][i]){
            d[i][i]=1;
            u[i+1][i]+=f[i][i];
            l[i][i+1]+=f[i][i];
            t-=f[i][i];
        }else{
            u[i+1][i]+=u[i][i];
            l[i][i+1]+=l[i][i];
        }
        if(t>0)n++;
    }
    //cout<<t<<endl;
    cout<<n<<" "<<n<<endl;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            if(j==n && i!=n)cout<<"d";
            else if(i==n && j!=n)cout<<"r";
            else if(d[i][j]==1)cout<<"X";
            else if(d[i][j]==2)cout<<"d";
            else if(d[i][j]==3)cout<<"r";
            else cout<<".";
        }
        cout<<endl;
    }
 
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 212 KB Correct! Your size: 3
2 Correct 1 ms 212 KB Correct! Your size: 3
3 Correct 0 ms 212 KB Correct! Your size: 4
4 Correct 0 ms 212 KB Correct! Your size: 3
5 Correct 0 ms 212 KB Correct! Your size: 4
6 Correct 0 ms 212 KB Correct! Your size: 4
7 Correct 0 ms 212 KB Correct! Your size: 5
8 Correct 0 ms 212 KB Correct! Your size: 4
9 Partially correct 0 ms 212 KB Partially Correct! Your size: 6
# 결과 실행 시간 메모리 Grader output
1 Partially correct 1 ms 468 KB Partially Correct! Your size: 53
2 Partially correct 1 ms 468 KB Partially Correct! Your size: 57
3 Partially correct 1 ms 468 KB Partially Correct! Your size: 57
4 Partially correct 1 ms 468 KB Partially Correct! Your size: 56
5 Partially correct 1 ms 468 KB Partially Correct! Your size: 56
6 Partially correct 1 ms 468 KB Partially Correct! Your size: 54
7 Partially correct 1 ms 468 KB Partially Correct! Your size: 56
8 Partially correct 1 ms 468 KB Partially Correct! Your size: 52