Pagini recente » Cod sursa (job #2982837) | Cod sursa (job #1625350) | Cod sursa (job #591568) | Cod sursa (job #357736) | Cod sursa (job #299607)
Cod sursa(job #299607)
/* BALAN CATALIN - HASHURI - INFOARENA - 06.04.2009 */
#include<cstdio>
#include<cstring>
#define HASHMAX 1000005
#define hshconst 1000003
using namespace std;
int hsh[HASHMAX];
long i,N,type,nr,nr2;
char buf[32],*p;
long get()
{
long t;
for (t = 0; *p>='0' && *p<='9'; ++p)
t = t*10 + *p-'0';
for (;*p==' ';++p);
return t;
}
int main()
{
memset(hsh,0,sizeof(hsh));
FILE *f = fopen("hashuri.in","r");
FILE *g = fopen("hashuri.out","w");
fscanf(f,"%d\n",&N);
for (i = 1; i <= N; ++i)
{
fgets(buf,sizeof(buf),f);p=buf;
type=get();
nr=get();
nr2 = nr/hshconst;
nr2%=32;
nr%=hshconst;
nr2 = 1<<nr2;
if(type==1)hsh[nr]=hsh[nr]|nr2;
else if(type==2)hsh[nr]=hsh[nr]&(!nr2);
else
{
if ((nr2&hsh[nr]) == nr2)fprintf(g,"1\n");
else fprintf(g,"0\n");
}
}
fclose(f);
fclose(g);
return 0;
}