标签:text data col ems names eof als red 输出
一个数N(1 <= N <= 10^9)
共K行:每行2个数,i j,表示N = i^2 + j^2(0 <= i <= j)。 如果无法分解为2个数的平方和,则输出No Solution
130
3 11 7 9
过几天就夏令营了,算法也有好久没有写了,因为各种原因(主要是懒),不过现在又有继续的下去的原因了,所以ACM再菜也要搞下去
先做几个水题练练手吧
这题很简单,因为数据为1e9,所以只能单层遍历sqrt(1e9),
/* author:gsw data:2018.7.14 link:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1080 */ #define ll long long #define IO ios::sync_with_stdio(false); #include<math.h> #include<stdio.h> #include<string.h> #include<iostream> #include<algorithm> using namespace std; ll n;bool vis[100005]; void init() { memset(vis,0,sizeof(vis)); } int main() { scanf("%lld",&n); int cont=0; for(ll i=0;i<=sqrt(n);i++) { ll jj=n-i*i;ll j=sqrt(jj); if(j*j==jj) { if(vis[j]==0)printf("%lld %lld\n",i,j); vis[i]=1;vis[j]=1;cont=1; } } if(cont==0)printf("No Solution\n"); return 0; }
标签:text data col ems names eof als red 输出
原文地址:https://www.cnblogs.com/fantastic123/p/9310921.html