1964.cpp

来自「这是哈尔滨工业大学acmOJ的源代码」· C++ 代码 · 共 32 行

CPP
32
字号
/*  This Code is Submitted by wywcgs for Problem 1964 on 2006-08-09 at 10:18:20 */ 
#include <cstdio>
#include <cmath>

const int V = 200;

int main()
{
	int t, T, i, j;
	double x[3], y[3], e[3], d[3];
	
	scanf("%d", &T);
	for(t = 0; t < T; t++) {
		for(i = 0; i < 3; i++) scanf("%lf %lf", &x[i], &y[i]);
		for(i = 0; i < 3; i++) e[i] = hypot(x[i]-x[(i+1)%3], y[i]-y[(i+1)%3]);
		for(i = 0; i < 3; i++) {
			double a = e[(i+1)%3], b = e[(i+2)%3], c = e[i];
			double cosd = (a*a+b*b-c*c)/(2*a*b);
			d[i] = 2*acos(cosd);
		}
		for(i = 3; i <= V; i++) {
			double sd = 2*M_PI/i;
			int cv = 0;
			for(j = 0; j < 3; j++) cv += (int)(d[j]/sd+1e-5);
			if(cv == i) break;
		}
		printf("%d\n", i);
	}
	
	return 0;
}

⌨️ 快捷键说明

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