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