제출 #1023584

#제출 시각아이디문제언어결과실행 시간메모리
1023584ezzzayLinear Garden (IOI08_linear_garden)C++14
32 / 100
395 ms65536 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define ff first
#define ss second
#define pb push_back
const int N=5e5;
int n,m;
vector<string>v;
int pl[N],pp[N];
void fun(string s){
    if(s.size()==n){
        v.pb(s);
        return;
    }
    if(s.empty()){
        pl[1]=1;
        s+='L';
        fun(s);
        s.pop_back();
        pl[1]=0;
        
        pp[1]=1;
        s+='P';
        fun(s);
        s.pop_back();
        pp[1]=0;
        return;
    }
    int x=s.size()+1;
    pl[x]=pl[x-1]+1;
    pp[x]=pp[x-1];
    bool u=1;
    for(int i=0;i<=x;i++){
        if(abs((pl[x]-pl[i])-(pp[x]-pp[i]))>2){
            u=0;
        }
    }
    if(u){
        s+='L';
        fun(s);
        s.pop_back();
    }
    pl[x]--;
    
    pp[x]+=1;
    u=1;
    for(int i=0;i<=x;i++){
        if(abs((pl[x]-pl[i])-(pp[x]-pp[i]))>2){
            u=0;
        }
    }
    if(u){
        s+='P';
        fun(s);
        s.pop_back();
    }
    pp[x]--;
}
signed main() {
    string s;
    cin>>n>>m>>s;
    fun("");
    sort(v.begin(),v.end());
    for(int i=0;i<v.size();i++){
        if(v[i]==s){
            cout<<(i+1)%m;
            
        }
    }
}

컴파일 시 표준 에러 (stderr) 메시지

linear_garden.cpp: In function 'void fun(std::string)':
linear_garden.cpp:12:16: warning: comparison of integer expressions of different signedness: 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} and 'long long int' [-Wsign-compare]
   12 |     if(s.size()==n){
      |        ~~~~~~~~^~~
linear_garden.cpp: In function 'int main()':
linear_garden.cpp:65:18: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::__cxx11::basic_string<char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   65 |     for(int i=0;i<v.size();i++){
      |                 ~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...