[蓝桥杯2015初赛]方程整数解 unordered_map

时间:2023-03-10 02:16:21
[蓝桥杯2015初赛]方程整数解 unordered_map

unordered_map:

如果直接写报错加上tr1:

 #include<tr1/unordered_map>//注意写法
using namespace std;
using namespace std::tr1;//注意写法

std::unorederd_map 是一个关联容器,其中的元素根据键来引用,而不是根据索引来引用。

 #include <iostream>
#include <algorithm>
#include <queue>
#include <cstdio>
#include<tr1/unordered_map>//注意写法
using namespace std;
using namespace std::tr1;//注意写法
int a,b,c; int main()
{
int n;
while(~scanf("%d",&n))
{
int cnt=;
int cntc=;
unordered_map<int,int> mp;
for(int i=;i*i<=n;i++)
{
int t=i*i;
if(mp.count(t)==)
mp[t]=i;
}
for(int i=;i*i<=n;i++)
{
for(int j=;j*j<=n;j++)
{
int t=n-i*i-j*j;
if(mp.count(t)&&i<=j&&j<=mp[t])
{
cnt++;
printf("%d %d %d\n",i,j,mp[t]);
}
}
}
if(cnt==)
{
printf("No Solution\n");
}
}
return ;
}

思路来自:https://www.cnblogs.com/luyuan-chen/p/12202059.html