pku2261.cpp

来自「这是ACM 方面的资料 是PKU的 北京大学的出来的」· C++ 代码 · 共 50 行

CPP
50
字号
#include <stdio.h>

char name[16][12];
double v[16][16];
double p[4][16];

int main()
{
	int i, j;
	int x, s, l, e;
	double ans;

	for (i = 0; i < 16; i++)
	{
		scanf("%s", name[i]);
	}
	for (i = 0; i < 16; i++)
	{
		for (j = 0; j < 16; j++)
		{
			scanf("%d", &x);
			v[i][j] = x / 100.0;
		}
		p[0][i] = 1;
	}

	for (x = 0; x < 4; x++)
	{
		for (i = 0; i < 16; i++)
		{
			ans = 0;
			s = i & (-1 << x) ^ (1 << x);
			l = 1 << x;
			e = s + l;
			for (j = s; j < e; j++)
			{
				ans += p[x][j] * v[i][j];
			}
			p[x + 1][i] = ans * p[x][i];
		}
	}

	for (i = 0; i < 16; i++)
	{
		printf("%-10s p=%.2lf%c\n", name[i], 100 * p[4][i], 37);
	}

	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?