Linux和MinGW(ZOJ)上hash

it2025-12-21  14

ZOJ2421

1 /* 2 * PKU2081.cpp 3 * 4 * Created on: 2011-3-19 5 * Author: Administrator 6 */ 7 8 #include < stdio.h > 9   // #include <set> 10   #include < ext / hash_set > 11   using namespace std; 12 using namespace __gnu_cxx; 13 14 const int MAXK = 500000 + 1 ; 15 16 // set<int> s1; 17 hash_set < int > s1; 18 int a[MAXK]; 19 20 int main () { 21 a[ 0 ] = 0 ; 22 s1.insert(a[ 0 ]); 23 24 for ( int i = 1 ; i <= MAXK; i ++ ) { 25 a[i] = a[i - 1 ] - i; 26 if (a[i] > 0 && s1.find(a[i]) == s1.end()) 27 ; 28 else 29 a[i] = a[i - 1 ] + i; 30 31 s1.insert(a[i]); 32 } 33 34 // for (int i = 0; i < 20; i++) 35 // printf("%d: %d\n", i, a[i]); 36 while ( true ) { 37 int n; 38 scanf( " %d " , & n); 39 if (n == - 1 ) 40 break ; 41 42 printf( " %d\n " , a[n]); 43 } 44 45 return 0 ; 46 }

头文件:

#include <ext/hash_set>

#include <ext/hash_map>

命名空间:

using namespace __gnu_cxx;

转载于:https://www.cnblogs.com/nysanier/archive/2011/03/19/1988689.html

最新回复(0)