답안 #755791

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
755791 2023-06-10T16:12:48 Z DJeniUp Costinland (info1cup19_costinland) C++17
0 / 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(){
    
    n=58;
    cin>>t;
    if(t<=19)n=6;
    f[1][1]=1;
    u[1][1]=1;
    t--;
    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[i][i]=u[i][i]+l[i][i];
            f[j][i]=min(f[j][i],ll(INF));
            f[i][j]=min(f[i][j],ll(INF));
            f[i][i]=min(f[i][i],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];
            }
        }
        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];
        }
    }
    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 Incorrect 1 ms 212 KB Integer parameter [name=n] equals to 0, violates the range [1, 500]
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 468 KB Integer parameter [name=n] equals to 0, violates the range [1, 500]
2 Halted 0 ms 0 KB -