求hack!
  • 板块灌水区
  • 楼主Gabriella
  • 当前回复1
  • 已保存回复1
  • 发布时间2021/8/21 08:48
  • 上次更新2023/11/4 09:51:25
查看原帖
求hack!
533423
Gabriella楼主2021/8/21 08:48

啊,我太弱了,月赛T1爆0,时间复杂度没问题,代码写得有点乱,不需要阅读,因为评测结果中有WA,所以求hack数据即可(第一个点T了)

#include <iostream>
#include <vector>
using namespace std;
int t[1005];
vector<int> v;
vector<int> v1;
int main() {
	int n, m, k;
	cin >> n >> m >> k;
	if (k == 1) {
		cout << n % 10;
		return 0;
	}
	if (k == 2) {
		cout << m % 10;
		return 0;
	}
	int flag;
	int a = n % 10, b = m % 10, c;
	v.push_back(a), v.push_back(b);
	for (int i = 3; i <= k; i++) {
		if (t[a * 10 + b] != 0) {
			flag = a * 10 + b;
			goto here;
		}
		c = a * b % 10;
		if (c == 0)
		{
			cout << 0;
			return 0;
		}
		t[a * 10 + b] = i;
		v.push_back(c);
		a = b;
		b = c;
	}
	cout << c;
here:
	int aa = n % 10, bb = m % 10, cc, f;
	for (int i = 1; ; i++) {
		cc = aa * bb % 10;
		if (aa * 10 + bb == flag) {
			f = i - 1;
			break;
		}
		aa = bb;
		bb = cc;
	}
	v.pop_back();
	for (int i = f; i < v.size() - 1; i++)
		v1.push_back(v[i]);
	cout << v1[(k - 1 - f) % v1.size()];
	return 0;
}
2021/8/21 08:48
加载中...