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 |
|
|
| 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 |