답안 #702805

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
702805 2023-02-25T07:58:25 Z Nursik NoM (RMI21_nom) C++14
0 / 100
1 ms 212 KB
#include <iostream>
#include <fstream>
#include <iomanip>
#include <vector>
#include <set>
#include <map>
#include <cstring>
#include <string>
#include <cmath>
#include <cassert>
#include <ctime>
#include <algorithm>
#include <sstream>
#include <list>
#include <queue>
#include <deque>
#include <stack>
#include <cstdlib>
#include <cstdio>
#include <iterator>
#include <functional>
#include <unordered_set>
#include <unordered_map>
#include <stdio.h>
#include <bitset>
 #include <cstdint>
#include <cassert>
#include <functional>
#include <complex>

using namespace std;
 
#define ll long long
#define pb push_back
#define mp make_pair
#define f first
#define s second
#define ld long double
 
const ll maxn = 1e3 + 10, maxm = 3e5 + 1;
const ll mod = 1e9 + 7, cmod = 998244353, inf = 1e9, blcok = 400, p2 = 31;
const ld eps = 1e-9;

int n, m;
int pos[maxn];
ll ans = 0;
map<vector<int>, int> was;
void rec(vector<int> v){
    int sz = (int)v.size();
    if (sz == n * 2){
        int ok = 1;
        for (int i = 1; i <= n; ++i){
            pos[i] = -1;
        }
        for (int i = 0; i < 2 * n; ++i){
            if (pos[v[i]] != -1 && (i - pos[v[i]]) % m == 0){
                ok = 0;
            }
            pos[v[i]] = i;
        }
        if (ok){
            was[v] = 1;
        }
        return;
    }
    int used[n + 1];
    for (int i = 1; i <= n; ++i){
        used[i] = 0;
    }
    for (auto it : v){
        used[it] += 1;
    }
    for (int i = 1; i <= n; ++i){
        if (used[i] + 1 <= 2){
            v.pb(i);
            rec(v);
            v.pop_back();
        }
    }
}
int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cin >> n >> m;
    vector<int> kek;
    rec(kek);
    cout << (int)was.size();
}
/*
*/


# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Incorrect 0 ms 212 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Incorrect 0 ms 212 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Incorrect 0 ms 212 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Incorrect 0 ms 212 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Incorrect 0 ms 212 KB Output isn't correct
4 Halted 0 ms 0 KB -