답안 #22661

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
22661 2017-04-30T06:15:06 Z 의식의흐름코딩(#910, plynn) Fully Generate (KRIII5_FG) C++14
2 / 7
500 ms 395320 KB
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <vector>
#include <algorithm>
#include <stack>
#include <queue>
#include <deque>
#include <utility>
#include <functional>
#include <list>
#include <cmath>
#include <string>
#include <cstring>
#include <set>
#include <map>
#define MOD 1000000007
using namespace std;

long long dnq(long long a, int n)
{
	if (n <= 0)
		cout << "??" << endl;
	if (n == 1)
		return a%MOD;
	if (n % 2 == 0)
	{
		long long k = dnq(a, n / 2);
		return (k*k)%MOD;
	}
	else
		return (a*dnq(a, n - 1))%MOD;
}

int main() {
	//freopen("input.txt", "r", stdin);
	long long n;
	scanf("%lld", &n);
	vector<pair<int, int> > v;
	v.push_back(make_pair(1, 1));
	v.push_back(make_pair(2, 2));
	long long gg;
	long long ans = 4;
	if (n == 1)
		ans = 1;
	else if (n == 2)
		ans = 2;
	else if (n == 3)
		ans = 4;
	else {
		for (long long g = 3, k = 3, t = 1, j = 1; k < n; g++)
		{
			
			if (k + v[t].first > n)
				v.push_back(make_pair(g, n-k));
			else
				v.push_back(make_pair(g, v[t].first));
			k += v[t].first;
			j++;
			if (j >= v[t].second)
			{
				t++;
				j = 0;
			}
		}
		ans = 1;
		for (int i = 0; i < v.size(); ++i)
		{
			long long tmp = v[i].first%MOD;
			for (int j = i + 1; j < v.size(); ++j, ++i)
				if (v[j].second == v[i].second)
					tmp = (tmp*(v[j].first%MOD) % MOD);
				else
					break;

			ans = (ans * dnq(tmp, v[i].second)) % MOD;
		}
	}
	printf("%lld\n", ans);
}


Compilation message

FG.cpp: In function 'int main()':
FG.cpp:67:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (int i = 0; i < v.size(); ++i)
                     ^
FG.cpp:70:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    for (int j = i + 1; j < v.size(); ++j, ++i)
                          ^
FG.cpp:42:12: warning: unused variable 'gg' [-Wunused-variable]
  long long gg;
            ^
FG.cpp:38:19: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%lld", &n);
                   ^
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 2020 KB Output is correct
2 Correct 0 ms 2020 KB Output is correct
3 Correct 0 ms 2020 KB Output is correct
4 Correct 0 ms 2020 KB Output is correct
5 Correct 0 ms 2020 KB Output is correct
6 Correct 0 ms 2020 KB Output is correct
7 Correct 0 ms 2020 KB Output is correct
8 Correct 0 ms 2020 KB Output is correct
9 Correct 0 ms 2020 KB Output is correct
10 Correct 0 ms 2020 KB Output is correct
11 Correct 0 ms 2020 KB Output is correct
12 Correct 0 ms 2160 KB Output is correct
13 Correct 0 ms 2160 KB Output is correct
14 Correct 0 ms 2020 KB Output is correct
15 Correct 0 ms 2160 KB Output is correct
16 Correct 0 ms 2160 KB Output is correct
17 Correct 0 ms 2160 KB Output is correct
18 Correct 0 ms 2160 KB Output is correct
19 Correct 0 ms 2020 KB Output is correct
20 Correct 0 ms 2160 KB Output is correct
21 Correct 0 ms 2160 KB Output is correct
22 Correct 0 ms 2160 KB Output is correct
23 Correct 0 ms 2020 KB Output is correct
24 Correct 0 ms 2160 KB Output is correct
25 Correct 0 ms 2160 KB Output is correct
26 Correct 0 ms 2020 KB Output is correct
27 Correct 0 ms 2160 KB Output is correct
28 Correct 0 ms 2160 KB Output is correct
29 Correct 0 ms 2160 KB Output is correct
30 Correct 0 ms 2160 KB Output is correct
31 Correct 0 ms 2160 KB Output is correct
32 Correct 0 ms 2020 KB Output is correct
33 Correct 0 ms 2160 KB Output is correct
34 Correct 0 ms 2160 KB Output is correct
35 Correct 0 ms 2160 KB Output is correct
36 Correct 0 ms 2160 KB Output is correct
37 Correct 0 ms 2020 KB Output is correct
38 Correct 0 ms 2160 KB Output is correct
39 Correct 0 ms 2160 KB Output is correct
40 Correct 0 ms 2160 KB Output is correct
41 Correct 0 ms 2020 KB Output is correct
42 Correct 0 ms 2160 KB Output is correct
43 Correct 0 ms 2020 KB Output is correct
44 Correct 0 ms 2160 KB Output is correct
45 Correct 0 ms 2160 KB Output is correct
46 Correct 0 ms 2160 KB Output is correct
47 Correct 0 ms 2160 KB Output is correct
48 Correct 0 ms 2160 KB Output is correct
49 Correct 0 ms 2160 KB Output is correct
50 Correct 0 ms 2160 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 2020 KB Output is correct
2 Correct 0 ms 2020 KB Output is correct
3 Correct 0 ms 2020 KB Output is correct
4 Correct 0 ms 2020 KB Output is correct
5 Correct 0 ms 2020 KB Output is correct
6 Correct 0 ms 2020 KB Output is correct
7 Correct 0 ms 2020 KB Output is correct
8 Correct 0 ms 2020 KB Output is correct
9 Correct 0 ms 2020 KB Output is correct
10 Correct 0 ms 2020 KB Output is correct
11 Correct 0 ms 2020 KB Output is correct
12 Correct 0 ms 2160 KB Output is correct
13 Correct 0 ms 2160 KB Output is correct
14 Correct 0 ms 2020 KB Output is correct
15 Correct 0 ms 2160 KB Output is correct
16 Correct 0 ms 2160 KB Output is correct
17 Correct 0 ms 2160 KB Output is correct
18 Correct 0 ms 2160 KB Output is correct
19 Correct 0 ms 2020 KB Output is correct
20 Correct 0 ms 2160 KB Output is correct
21 Correct 0 ms 2160 KB Output is correct
22 Correct 0 ms 2160 KB Output is correct
23 Correct 0 ms 2020 KB Output is correct
24 Correct 0 ms 2160 KB Output is correct
25 Correct 0 ms 2160 KB Output is correct
26 Correct 0 ms 2020 KB Output is correct
27 Correct 0 ms 2160 KB Output is correct
28 Correct 0 ms 2160 KB Output is correct
29 Correct 0 ms 2160 KB Output is correct
30 Correct 0 ms 2160 KB Output is correct
31 Correct 0 ms 2160 KB Output is correct
32 Correct 0 ms 2020 KB Output is correct
33 Correct 0 ms 2160 KB Output is correct
34 Correct 0 ms 2160 KB Output is correct
35 Correct 0 ms 2160 KB Output is correct
36 Correct 0 ms 2160 KB Output is correct
37 Correct 0 ms 2020 KB Output is correct
38 Correct 0 ms 2160 KB Output is correct
39 Correct 0 ms 2160 KB Output is correct
40 Correct 0 ms 2160 KB Output is correct
41 Correct 0 ms 2020 KB Output is correct
42 Correct 0 ms 2160 KB Output is correct
43 Correct 0 ms 2020 KB Output is correct
44 Correct 0 ms 2160 KB Output is correct
45 Correct 0 ms 2160 KB Output is correct
46 Correct 0 ms 2160 KB Output is correct
47 Correct 0 ms 2160 KB Output is correct
48 Correct 0 ms 2160 KB Output is correct
49 Correct 0 ms 2160 KB Output is correct
50 Correct 0 ms 2160 KB Output is correct
51 Execution timed out 500 ms 395320 KB Execution timed out
52 Halted 0 ms 0 KB -