codeforce 1A-1C
1C는 계산 기하학에 대한 약간의 지식을 가지고 몇 가지 공식을 비교적 정확하게 비교해야 하기 때문에 나는 모두 잊어버렸다. 큰 소를 쓰는 코드를 참조한 적이 있다.
비교적 주의해야 할 것은 그 fgcd가 부동점형의 최대 공약수를 구하려면 전체적인 ep=1e-4, 즉 0.0001을 설정하는 것이 가장 좋다는 것이다.
fq(a, 0) 또는 fq(b, 0)의 차이가 ep보다 적으면 서로 같다.
1B
1 #include
2 #include<string>
3 #include
4 #include
5 using namespace std;
6
7 int main()
8 {
9 int n;
10 string str;
11 cin>>n;
12 for(int i=0;i)
13 {
14 int cnt1=0,cnt2=0,cnt3=0,cnt4=0;
15 cin>>str;
16 int flag=8888;
17 for(int j=0;j)
18 {
19 if(cnt2==0&&(str[j]<'0'||str[j]>'9'))
20 {
21 cnt1++;
22 continue;
23 }
24 if(str[j]>='0'&&str[j]<='9'&&cnt3==0)
25 {
26 cnt2++;
27 continue;
28 }
29 if(cnt2>0&&(str[j]<'0'||str[j]>'9'))
30 {
31 cnt3++;
32 continue;
33 }
34 if(cnt3>0&&str[j]>='0'&&str[j]<='9')
35 {
36 cnt4++;
37 continue;
38 }
39 }
40
41 if(cnt3==0)
42 {
43 int c=0,r=0;
44 for(int i=0;i)
45 {
46 c+=pow((float)26,(float)cnt1-i-1)*(str[i]-'A'+1);
47 }
48 for(int i=0;i)
49 {
50 r+=pow((float)10,(float)cnt2-i-1)*(str[i+cnt1]-'0');
51 }
52
53 cout<<"R"<"C"<endl;
54 }
55 else
56 {
57 int r=0,c=0;
58 string sstr;
59 for(int i=0;i)
60 {
61 r+=pow((float)10,(float)cnt2-1-i)*(str[1+i]-'0');
62 }
63 for(int i=0;i)
64 {
65 c+=pow((float)10,(float)cnt4-1-i)*(str[1+cnt2+1+i]-'0');
66 }
67 while(c>0)
68 {
69 int m=c%26;
70 if(m!=0)
71 {
72 sstr+=(char)(m+'A'-1);
73 c/=26;
74 }
75 else
76 {
77 sstr+='Z';
78 c/=26;
79 c--;
80 }
81
82 }
83 reverse(&sstr[0],&sstr[sstr.length()]);
84 cout<endl;
85 }
86 }
87
88 return 0;
89 }
1C
#include
#include
#include
using namespace std;
#define feq(a,b) (fabs((a)-(b))<1E-6)
double Dis(double x1,double y1,double x2,double y2)
{
return sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
}
double Area(double a,double b,double c)
{
double q=(a+b+c)/2;
return sqrt(q*(q-a)*(q-b)*(q-c));
}
double fgcd(double a,double b)
{
if(feq(a,0))
return b;
if(feq(b,0))
return a;
return fgcd(b,fmod(a,b));
}
int main()
{
double x0,x1,x2,y0,y1,y2;
cin>>x0>>y0>>x1>>y1>>x2>>y2;
double a=Dis(x0,y0,x1,y1);
double b=Dis(x0,y0,x2,y2);
double c=Dis(x1,y1,x2,y2);
double r=a*b*c/Area(a,b,c)/4;
double A=acos((b*b+c*c-a*a)/2/b/c);
double B=acos((a*a+c*c-b*b)/2/a/c);
double C=acos((a*a+b*b-c*c)/2/a/b);
//double A=2*asin(a/2/r);
//double B=2*asin(b/2/r);
//double C=2*asin(c/2/r);
double e=acos(-1.0)/fgcd(A,fgcd(B,C));
double angle=2*acos(-1.0)/e;
printf("%.8f
",sin(angle)*r*r*e/2);
return 0;
}
전재 대상:https://www.cnblogs.com/cavehubiao/p/3411048.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.