Submission #696920


Source Code Expand

#include <iostream>
#include <fstream>
#include <string>

#include <sstream>
#include <iomanip>

#include <map>
#include <set>
#include <vector>
#include <list>
#include <queue>
#include <stack>
#include <bitset>

#include <numeric>
#include <utility>
#include <functional>
#include <algorithm>
#include <complex>
#include <memory>

#include <cstdio>
#include <cstdlib>
#include <cassert>

#include <cmath>
#include <climits>
#include <cfloat>

#include <cctype>
#include <cstring>

using namespace std;

#define FOR(M_i, M_from, M_to)	for(int M_i = (M_from); M_i < (M_to); ++M_i)
#define REP(M_i, M_n)			FOR(M_i, 0, M_n)
#define FOREACH(M_ite, M_c)		for(decltype(M_c.begin()) M_ite = M_c.begin(); M_ite != M_c.end(); ++M_ite)

#define DUMP(x)			cerr << #x << " = " << (x) << endl
#define DUMP_C(M_c)		FOREACH(ite, M_c){ cerr << *ite << ", "; } cerr << endl
#define DUMP_CS(M_c)	FOREACH(ite, M_c){ cerr << *ite << " "; } cerr << endl
#define DUMP_CN(M_c)	FOREACH(ite, M_c){ cerr << *ite << endl; } cerr << endl

#ifdef _DEBUG
#ifndef ASSERT
#define ASSERT(M_expr) if(! (M_expr) ) {DebugBreak();}
#endif

#ifndef VERIFY
#define VERIFY(M_expr) ASSERT(M_expr)
#endif

#else 

#ifndef ASSERT
#define ASSERT(M_expr) (void)0
#endif

#ifndef VERIFY
#define VERIFY(M_expr) (M_expr)
#endif

#endif

template<typename T>
bool is_prime(T n)
{
	assert(n >= 0);
	if(n < 2) { return false; }
	for(T i = 2; i * i <= n; ++i)
	{
		if(n % i == 0) { return false; }
	}
	return true;
}

int find_prime(int start_value)
{
	int v = start_value + 1;
	for(; ! is_prime(v); ++v) { }
	return v;
}

int gcd(int a, int b, int& counter) {
    if (b == 0) return a;
    counter++;
    return gcd(b, a%b, counter);
}

void solve(istream& in, ostream& out)
{
	int k; in >> k;

	int a = 2; int b = 1;
	for(int cur_k = 1; cur_k < k; ++cur_k)
	{
		int new_a = b + a;
		int new_b = a;
		a = new_a;
		b = new_b;
	}

	int counter = 0;
	gcd(a, b, counter);
	DUMP(k);
	DUMP(counter);
	ASSERT(k == counter);

	out << a << " " << b << endl;
}

int main(int argc, char* argv[])
{
	ios::sync_with_stdio(false);
	if(argc == 2)
	{
		ifstream in(argv[1]);
		string out_path = argv[1];
		out_path += ".result";
		ofstream out(out_path);
		solve(in, out);
	}
	else
	{
		solve(cin, cout);
	}
	return 0;
}

Submission Info

Submission Time
Task B - 互除法
User lipsum
Language C++14 (GCC 5.4.1)
Score 100
Code Size 2386 Byte
Status AC
Exec Time 5 ms
Memory 256 KiB

Judge Result

Set Name Sample Subtask All
Score / Max Score 0 / 0 30 / 30 70 / 70
Status AC
AC × 10
AC × 40
Set Name Test Cases
Sample
Subtask inp_0.txt, inp_1.txt, inp_2.txt, inp_3.txt, inp_4.txt, inp_5.txt, inp_6.txt, inp_7.txt, inp_8.txt, inp_9.txt
All inp_0.txt, inp_1.txt, inp_10.txt, inp_11.txt, inp_12.txt, inp_13.txt, inp_14.txt, inp_15.txt, inp_16.txt, inp_17.txt, inp_18.txt, inp_19.txt, inp_2.txt, inp_20.txt, inp_21.txt, inp_22.txt, inp_23.txt, inp_24.txt, inp_25.txt, inp_26.txt, inp_27.txt, inp_28.txt, inp_29.txt, inp_3.txt, inp_30.txt, inp_31.txt, inp_32.txt, inp_33.txt, inp_34.txt, inp_35.txt, inp_36.txt, inp_37.txt, inp_38.txt, inp_39.txt, inp_4.txt, inp_5.txt, inp_6.txt, inp_7.txt, inp_8.txt, inp_9.txt
Case Name Status Exec Time Memory
inp_0.txt AC 4 ms 256 KiB
inp_1.txt AC 4 ms 256 KiB
inp_10.txt AC 4 ms 256 KiB
inp_11.txt AC 4 ms 256 KiB
inp_12.txt AC 4 ms 256 KiB
inp_13.txt AC 4 ms 256 KiB
inp_14.txt AC 4 ms 256 KiB
inp_15.txt AC 4 ms 256 KiB
inp_16.txt AC 4 ms 256 KiB
inp_17.txt AC 4 ms 256 KiB
inp_18.txt AC 4 ms 256 KiB
inp_19.txt AC 4 ms 256 KiB
inp_2.txt AC 4 ms 256 KiB
inp_20.txt AC 4 ms 256 KiB
inp_21.txt AC 4 ms 256 KiB
inp_22.txt AC 4 ms 256 KiB
inp_23.txt AC 4 ms 256 KiB
inp_24.txt AC 4 ms 256 KiB
inp_25.txt AC 4 ms 256 KiB
inp_26.txt AC 4 ms 256 KiB
inp_27.txt AC 4 ms 256 KiB
inp_28.txt AC 4 ms 256 KiB
inp_29.txt AC 4 ms 256 KiB
inp_3.txt AC 4 ms 256 KiB
inp_30.txt AC 4 ms 256 KiB
inp_31.txt AC 4 ms 256 KiB
inp_32.txt AC 4 ms 256 KiB
inp_33.txt AC 4 ms 256 KiB
inp_34.txt AC 4 ms 256 KiB
inp_35.txt AC 4 ms 256 KiB
inp_36.txt AC 4 ms 256 KiB
inp_37.txt AC 4 ms 256 KiB
inp_38.txt AC 4 ms 256 KiB
inp_39.txt AC 4 ms 256 KiB
inp_4.txt AC 4 ms 256 KiB
inp_5.txt AC 4 ms 256 KiB
inp_6.txt AC 4 ms 256 KiB
inp_7.txt AC 5 ms 256 KiB
inp_8.txt AC 4 ms 256 KiB
inp_9.txt AC 4 ms 256 KiB