Exemplo n.º 1
0
int judge3(int now)
{
    int i,j,ok;
    if(judge2(now)==1)
    {
        i=nx;
        j=ny;
        a[i][j]=now;
        if(judge2(!now)==2)
        {
            nx=i;
            ny=j;
            return 1;
        }
        else
            return 0;
    }
    for(i=0;i<15;i++)
        for(j=0;j<15;j++)
            if(a[i][j]<0)
            {
                a[i][j]=now;
                ok=judge2(!now);
                a[i][j]=-1;
                if(ok==2)
                {
                    nx=i;
                    ny=j;
                    return 1;
                }
            }    
    return 0;
}
Exemplo n.º 2
0
void chooseMode() {
	int mode;
	scanf_s("%d", &mode);
	switch (mode)
	{
	case 1:
		judge1();
		break;
	case 2:
		judge2();
		break;
	case 3:
		judge3();
		break;
	case 4:
		findBiggest1();
		break;
	case 5:
		findBiggest2();
		break;
	case 6:
		findBiggest3();
		break;
	default:
		break;
	}
}
Exemplo n.º 3
0
void* recvMsg(void* pv){
	int fd = *(int*)pv;
	while(1){
		sleep(1);
		char buf[100];
		int res = recv(sockfd,buf,sizeof(buf),0);
		judge2(res,recv);
		printf("%s\n",buf);
	}
}
Exemplo n.º 4
0
int main()
{
    int i,j,k,n,x,y,now;
    while(1)
    {
        scanf("%d",&n);
        if(n==0)
            break;
        memset(a,-1,sizeof(a));
        now=1;
        for(i=0;i<n;i++)
        {
            scanf("%d%d%d",&x,&y,&k);
            if(k)
                now--;
            else
                now++;
            a[x][y]=k;
        }
        if(now!=0&&now!=1)
        {
            printf("Invalid.\n");
            continue;
        }
        if(n<=5)
        {
            printf("Cannot win in 3 moves.\n");
            continue;
        }
        if(judge1(now))
            printf("Place %s at (%d,%d) to win in 1 move.\n",b[now],nx,ny);
        else if(judge2(now)==2)
            printf("Lose in 2 moves.\n");
        else if(judge3(now))
            printf("Place %s at (%d,%d) to win in 3 moves.\n",b[now],nx,ny);
        else
            printf("Cannot win in 3 moves.\n");
    }
    return 0;    
}
Exemplo n.º 5
0
Arquivo: dict.c Projeto: Uyouii/dict
void search( char *str) 
{
	int a[21];
	int b[21];
	char shit[21][20];
	int n=strlen(str);
	int i,j,k;
	int where=0;
	int m=0;
	int temp=0;
	
	memset(a,0,21);
	memset(b,0,21);
	for(i=0;i<n;i++)
	{
		if(str[i]=='?')  
		{
			m++;a[m]=1;b[m]=i;
		}
		if(str[i]=='*')
		{
			m++;a[m]=2;b[m]=i;
		}
	}
	b[0]=-1;
	a[0]=1;
	b[m+1]=n;
	a[m+1]=2;
	
	for(i=0;i<=m;i++)
	{
		for(j=b[i]+1;j<b[i+1];j++)
		{
			shit[i][j-b[i]-1]=str[j];
		}
		shit[i][j-b[i]-1]=0;
	}
	
	for(i=0;i<entries;i++)
	{
		where=0;
		for(k=0;k<=m;k++)
		{
			if(n>strlen(pdic[i].entry)) break;
			if(a[k]==2)
			{
				where=judge2(shit[k],pdic[i].entry,where)+1;
				if(where==0) break;
				if(k==m&&(strlen(pdic[i].entry)>=where&&judge_behind(pdic[i].entry,shit[m])!=1)) break;
			}
			if(a[k]==1)
			{
				where=judge1(shit[k],pdic[i].entry,where)+1;
				if(where==0) break;
				if(k==m&&(strlen(pdic[i].entry)>=where&&judge_behind(pdic[i].entry,shit[m])!=1)) break;
			}
			
		}
		if(k==m+1) count++;
	}
	if(count==0) return ;
	list=(char (*)[20]) malloc(count*20);
	for(i=0;i<entries;i++)
	{
		where=0;
		for(k=0;k<=m;k++)
		{
			if(n>strlen(pdic[i].entry)) break;
			if(a[k]==2)
			{
				where=judge2(shit[k],pdic[i].entry,where)+1;
				if(where==0) break;
				if(k==m&&(strlen(pdic[i].entry)>=where&&judge_behind(pdic[i].entry,shit[m])!=1)) break;
			}
			if(a[k]==1)
			{
				where=judge1(shit[k],pdic[i].entry,where)+1;
				if(where==0) break;
				if(k==m&&(strlen(pdic[i].entry)>=where&&judge_behind(pdic[i].entry,shit[m])!=1)) break;
			}
		}
		if(k==m+1) strcpy(list[temp++],pdic[i].entry);
	}
}