Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <set>
- #include <vector>
- using namespace std;
- typedef long long int64;
- int main() {
- int n, k; cin >> n >> k;
- int mod = 1e9 + 7;
- vector<set<int> > ve(n);
- for (int i = 0; i < n; ++i) {
- int to; cin >> to; --to;
- if (to == i) continue;
- if (to > i) ve[to].insert(i);
- if (to < i) ve[i].insert(to);
- }
- long long ans = 1;
- for (int i = 0; i < n; ++i) {
- ans = (ans * (k - ve[i].size())) % mod;
- }
- cout << ans << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement