//純粹暴力AC,必須記住大數組一定要開成全局變量,因爲函數裏面的定義的變量都是放在棧堆中,太大會溢出即stack overflow #include<iostream> #include<string.h> using namespace std; int arr[500001]; bool used[3012500]; int main() { int n; arr[0] = 0; memset(used,0,sizeof(used)); used[0] = 1; for(int i = 1;i <= 500000;++i) { if(arr[i-1] - i > 0 && !used[arr[i-1]-i]) { arr[i] = arr[i-1] - i; used[arr[i]] = 1; } else { arr[i] = arr[i-1] + i; used[arr[i]] = 1; } } while(cin >> n) { if(n == -1) return 0; cout << arr[n] << endl; } return 0; }
pku 2081
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.