【百炼oj】1675:Happy Birthday!

原创 2018年04月15日 09:07:02

描述There are three berries on a round birthday cake. You are required to divide the cake into three identical parts such that each part contains exactly one berry. To make it easy, it is assumed that the radius of the berries is 0 and each part of the cake is a sector with 120 degrees. Any line that divides the cake should not go through any berry.
输入The first line contains a single integer t (1 <= t <= 20) that indicates the number of test cases. Then follow the t cases. Each case contains exactly 7 integers r, x1, y1, x2, y2, x3 and y3. r is the radius of the cake, (xi, yi) is the coordinates of i-th berry. The center of the cake is at (0, 0) and it's confirmed that all the berries will be on the cake.输出For each case, output 'Yes' if there is a valid solution, 'No' otherwise.样例输入
2
2 1 1 -1 1 0 -1
10 0 9 1 8 -1 8
样例输出
Yes
No


#include<stdio.h>
#include<math.h>
int main(){
    int check(double a,double b,double c);
    int n,i,j;
    int test[7];
    double a,b,c,pi=atan(1)*4;
    scanf("%d",&n);
    for(i=0;i<n;i++){
        for(j=0;j<7;j++)
        scanf("%d",&test[j]);
         if((test[1]==0&&test[2]==0)||(test[3]==0&&test[4]==0)||(test[5]==0&&test[6]==0))printf("No\n");
         else{
            a=atan2(test[1],test[2]);
            b=atan2(test[3],test[4]);
            c=atan2(test[5],test[6]);
            if(check(a,b,c))printf("No\n");
                else printf("Yes\n");
        }
    }

}

int check(double a,double b,double c){//判断是否可分
    double temp;
    double pi=atan(1)*4;
    double k[3];
    k[0]=a;
    k[1]=b;
    k[2]=c;
    int i,j;
    for(i=0;i<3;i++){
        for(j=i;j<3;j++){
            if(k[i]>k[j]){
                temp=k[i];
                k[i]=k[j];
                k[j]=temp;
            }
        }
    }
    if(a==b||a==c||b==c)return 1;
    else{
         if((k[2]-k[0])<=2*pi/3)return 1;
         if((2*pi-k[1]+k[0])<=2*pi/3)return 1;
         if((2*pi-k[2]+k[1])<=2*pi/3)return 1;
         return 0;
    }
}

AD活动目录百问

活动目录问题百问
  • 2015年12月31日 20:50

百炼OJ:2801:填词

Alex喜欢填词游戏。填词是游戏是一个非常简单的游戏。填词游戏包括一个N * M大小的矩形方格盘和P个单词。玩家需要把每个方格中填上一个字母使得每个单词都能在方格盘上找到...
  • Kangyucheng
  • Kangyucheng
  • 2017-07-18 21:30:17
  • 223

百炼OJ1007

描述 现在有一些长度相等的DNA串(只由ACGT四个字母组成),请将它们按照逆序对的数量多少排序。 逆序对指的是字符串A中的两个字符A[i]、A[j],具有i A[j] 的性质。如字符串”ATC...
  • u014079441
  • u014079441
  • 2016-01-15 14:50:34
  • 588

OJ百练1001

#include #include #include using namespace std; string strMultiplies(const string& str1, const s...
  • a363344923
  • a363344923
  • 2014-12-07 15:42:53
  • 752

百炼OJ1005

描述 Fred Mapper is considering purchasing some land in Louisiana to build his house on. In the proce...
  • u014079441
  • u014079441
  • 2016-01-15 14:34:30
  • 241

POJ 百炼 保研机试 2750:鸡兔同笼

2750:鸡兔同笼 查看提交统计提示提问 总时间限制: 1000ms 内存限制: 65536kB 描述一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外...
  • u013240812
  • u013240812
  • 2015-11-10 14:52:12
  • 513

百练OJ:2701:与7无关的数

题目链接:描述一个正整数,如果它能被7整除,或者它的十进制表示法中某一位上的数字为7,则称其为与7相关的数.现求所有小于等于n(n &amp;lt; 100)的与7无关的正整数的平方和.输入输入为一行...
  • Kangyucheng
  • Kangyucheng
  • 2018-02-27 13:25:45
  • 62

DSOJ BST(二叉搜索树)

题目链接 #include //Binary Search Tree #include typedef struct node { int data; struct node *left, ...
  • xhf0374
  • xhf0374
  • 2015-12-19 22:58:58
  • 239

百练OJ-2815 城堡问题【DFS】

题面:1 2 3 4 5 6 7 ############################# 1 # | # | # | | # ...
  • SCaryon
  • SCaryon
  • 2017-03-31 21:44:38
  • 260

CSU-1588 合并果子

1588: 合并果子 Submit Page     Summary    Time Limit: 1 Sec     Memory Limit: 128 Mb     Sub...
  • Uranus1024
  • Uranus1024
  • 2017-05-27 21:53:38
  • 200
收藏助手
不良信息举报
您举报文章:【百炼oj】1675:Happy Birthday!
举报原因:
原因补充:

(最多只允许输入30个字)