hash的应用,简单到爆。
//============================================================================
//
// > File : poj2081.cpp
// > Author : flowertree
// > Time : 2015年11月14日
// > Algorithm : hash
//
//============================================================================
#include <iostream>
#include <string.h>
#include <stdio.h>
#include <algorithm>
using namespace std;
#define MAX 500005
#define M 20000000
bool a[M];
int b[M];
void Init()
{
memset(a, false, sizeof(a));
a[0] = true;
int temp;
for(int i = 1; i < MAX; i++)
{
temp = b[i - 1] - i;
if(temp > 0 && a[temp] != true)
b[i] = temp;
else
b[i] = b[i - 1] + i;
a[b[i]] = true;
}
}
int main()
{
Init();
int m;
while(cin >> m, m != -1)
{
cout << b[m] << endl;
}
system("pause");
return 0;
}