Beispiel #1
0
void monster::AItime()
{
	CClientDC dc(hwnd);
	flag++;	if(flag==3)flag=0;
	flag2++;if(flag2==2)flag2=0;
	flag1++;if(flag1==3)flag1=0;
	dmap();
	dman();
	if		(mtime.move)	{gogogo();}
	//{AImoving();}
//	else if	(mtime.attack)	{}
//	else	{think();}
	dc.BitBlt(0,0,WIDTH,HEIGHT,mdc,0,0,SRCCOPY);
}
Beispiel #2
0
int main(int argc, char **argv)
{
    int parent;

    parent = daemonize("/tmp/pid");

    sleep(5);

    if (argc > 1) {
	gogogo(parent);
	sleep(30);
    }

    exit(0);
}
Beispiel #3
0
Datei: 10296.cpp Projekt: goTJ/tj
int main(void)
{
	int i, j;
	int M;
	int a, b, d;
	int sum;
	int link[MAX];

	while(scanf("%d", &N) != EOF && N){
		scanf("%d", &M);
		for(i=0; i<N; i++){
			for(j=0; j<N; j++)
				map[i][j] = INF;
		}
		for(i=0; i<N; i++)
			link[i] = map[i][i] = 0;
		sum = 0;
		for(i=0; i<M; i++){
			scanf("%d%d%d", &a, &b, &d);
			a--, b--;
			if(d < map[a][b])
				map[a][b] = map[b][a] = d;
			link[a]++, link[b]++;
			sum += d;
		}
		floyd(map, N);
		for(i=0,ns=0; i<N; i++){
			if(link[i]%2){
				single[ns] = i;
				used[ns++] = false;
			}
		}
		min = INF;
		gogogo(ns, 0);
		printf("%d\n", min+sum);
	}
	return 0;
}
Beispiel #4
0
Datei: 10296.cpp Projekt: goTJ/tj
void gogogo(int left, int cost)
{
	if(cost >= min)
		return;
	if(!left){
		if(cost < min)
			min = cost;
		return;
	}
	int i, j;
	for(i=0; i<ns; i++){
		if(!used[i]){
			for(j=i+1; j<ns; j++){
				if(!used[j]){
					used[i] = used[j] = true;
					gogogo(left-2, cost+map[single[i]][single[j]]);
					used[i] = used[j] = false;
				}
			}
			break;
		}
	}
	return;
}