zoukankan      html  css  js  c++  java
  • LightOJ 1410 Consistent Verdicts(找规律)

    题目链接:https://vjudge.net/contest/28079#problem/Q

    题目大意:题目描述很长很吓人,大概的意思就是有n个坐标代表n个人的位置,每个人听力都是一样的,每人发出一枪,然后每个人给出一个数字表示听到的枪响次数,汇总为结果,结果有很多种(因为不知道人的听力极限范围),问有几种一致的结果(每个人的答案都是不矛盾的)。

    解题思路:就是判断一下人和人之间的距离有多少种+1,直接计算所有人之间距离排序去重+1就好了。

    代码:

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<algorithm>
     4 using namespace std;
     5 const int N=700+5;
     6 
     7 struct node{
     8     int x,y;
     9 }a[N];
    10 
    11 int res[N*N];
    12 
    13 int dis(int i,int j){
    14     return (a[i].x-a[j].x)*(a[i].x-a[j].x)+(a[i].y-a[j].y)*(a[i].y-a[j].y);
    15 }
    16 
    17 int main(){
    18     int T;
    19     scanf("%d",&T);
    20     int cas=0;
    21     while(T--){
    22         int n;
    23         scanf("%d",&n);    
    24         for(int i=1;i<=n;i++){
    25             scanf("%d%d",&a[i].x,&a[i].y);
    26         }
    27         int cnt=0;
    28         for(int i=1;i<=n-1;i++){
    29             for(int j=i+1;j<=n;j++){
    30                 res[++cnt]=dis(i,j);
    31             }
    32         }
    33         sort(res+1,res+cnt+1);
    34         int ans=cnt;
    35         for(int i=2;i<=cnt;i++){
    36             if(res[i]==res[i-1])
    37                 ans--;
    38         }
    39         printf("Case %d: %d
    ",++cas,ans+1);
    40     }
    41 }
  • 相关阅读:
    爬虫基础简介
    父子分类与无限分类
    Flask路由层
    Flask基础简介
    DRF之JWT签发,认证,群查
    DRF之JWT简介
    DRF之认证组件
    软件众包外包平台汇总
    Python与机器视觉(x)windows下import cv2报错dll
    【今日CV 视觉论文速览】Fri, 8 Feb 2019
  • 原文地址:https://www.cnblogs.com/fu3638/p/7448063.html
Copyright © 2011-2022 走看看