152292025-02-17 11:39:11MrkzVirágos rét (50 pont)cpp17Időlimit túllépés 15/50300ms1068 KiB
#include <iostream>
#include <fstream>
using namespace std;
int N,K,megoldas;
int Ret[100000],St[100000],vegpontok[100000],kezdopontok[100000],db;
void Mutat(){
    for(int i=1;i<=K;i++)
        cout<<St[i]<<" ";
    cout<<endl;
}
bool vanMegoldas(int szint){
    if(szint!=K)
        return false;
    for(int i=1;i<=db;i++){
        if(St[szint]==vegpontok[i] && St[1]==kezdopontok[i])
            return false;
    }
    return true;
}
bool Jo(int szint){
    for (int i=1;i<szint;i++)
        if(St[i]>=St[szint])
            return false;
    return (Ret[St[szint]]==1);
}
void Back(int szint){
    if(vanMegoldas(szint-1)){
        megoldas++;
        vegpontok[++db]=St[K];
        kezdopontok[db]=St[1];
    }
    else for(int i=1;i<=N;i++){
        St[szint]=i;
        if(Jo(szint)){
            Back(szint+1);
        }
    }
}
int main()
{
    cin>>N>>K;
    for(int i=1;i<=N;i++)
        cin>>Ret[i];
    Back(1);
    cout<<megoldas;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base15/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms316 KiB
3Időlimit túllépés0/0287ms832 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva3/31ms316 KiB
8Elfogadva3/31ms316 KiB
9Elfogadva3/32ms316 KiB
10Időlimit túllépés0/2300ms316 KiB
11Időlimit túllépés0/3280ms316 KiB
12Időlimit túllépés0/2280ms316 KiB
13Időlimit túllépés0/3282ms316 KiB
14Időlimit túllépés0/2282ms820 KiB
15Időlimit túllépés0/2300ms820 KiB
16Időlimit túllépés0/3300ms748 KiB
17Időlimit túllépés0/3284ms820 KiB
18Időlimit túllépés0/3282ms1068 KiB
19Időlimit túllépés0/3300ms808 KiB
20Időlimit túllépés0/3300ms864 KiB
21Időlimit túllépés0/3287ms820 KiB
22Időlimit túllépés0/3286ms1004 KiB