`
rex686568
  • 浏览: 9016 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

[高效算法设计]Calculator conundrum Uva 11549

 
阅读更多

使用 sstream 方便输入输出,

用于判断某个元素是否被访问过, 在数组开不下的时候可以使用 set集合

#include <iostream>
#include <sstream>
#include <set>

using namespace std;

int next(int n, int k){
	stringstream ss;
	ss << (long long)k*k;
	string s = ss.str();
	if (s.size() > n) s = s.substr(0, n);
	int ans;
	stringstream ss2(s);
	return ans;
}

int main(){
	int T;
	cin >> T;
	while (T--)
	{
		int n, k;
		cin >> n >> k;
		set<int> s;
		int ans = k;
		while (!s.count((k)))
		{
			s.insert(k);
			if (k > ans) ans = k;
			k = next(n, k);
		}
		cout << ans << endl;
	}
	return 0;
}


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics