1.输入-0(第一部分、第二部分),输出-0
2.只统计与两个人的亲密程度,否则超时

Data:

4 1
4 -0 1 -2 3
-0 1

-0 1

------

4 1

3 1 -2 3
-0 1

-0 1
-0 3
1 -2

------

4 2
4 -0 1 -2 3
2 -0 3
1 -0

1 -0
1 -2
-0 3

 /*
1.输入-0(第一部分、第二部分),输出-0
2.只统计与两个人的亲密程度,否则超时
*/
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cmath>
#include <stdbool.h>
#include <set>
#include <vector>
#include <map>
#include <algorithm>
using namespace std; double f[][];
long d[][],sex[],g[]; void print(long x,long y)
{
if (x== && sex[x]==-)
printf("-0");
else
printf("%ld",x*sex[x]);
printf(" ");
if (y== && sex[y]==-)
printf("-0");
else
printf("%ld",y*sex[y]);
printf("\n");
} bool pan(double x,double y)
{
if (fabs(x-y)<0.0000001)
return true;
else
return false;
} bool pan1(double x,double y)
{
if (fabs(x-y)<0.0000001)
return true;
if (x>y)
return true;
else
return false;
} int main()
{
char s[];
long n,m,i,j,k,x,y,w;
double v1,v2;
scanf("%ld%ld",&n,&m);
for (i=;i<=;i++)
for (j=;j<n;j++)
f[i][j]=;
for (k=;k<=m;k++)
{
scanf("%ld",&g[k]);
for (i=;i<=g[k];i++)
{
scanf("%s",s);
if (s[]=='-')
{
w=strlen(s);
strncpy(s,s+,w-);
s[w-]='\0';
d[k][i]=atoi(s);
sex[d[k][i]]=-;
}
else
{
d[k][i]=atoi(s);
sex[d[k][i]]=;
}
}
} scanf("%s",s);
if (s[]=='-')
{
w=strlen(s);
strncpy(s,s+,w-);
s[w-]='\0';
x=atoi(s);
sex[x]=-;
}
else
{
x=atoi(s);
sex[x]=;
} scanf("%s",s);
if (s[]=='-')
{
w=strlen(s);
strncpy(s,s+,w-);
s[w-]='\0';
y=atoi(s);
sex[y]=-;
}
else
{
y=atoi(s);
sex[y]=;
} for (k=;k<=m;k++)
{
for (i=;i<=g[k];i++)
if (d[k][i]==x)
{
for (j=;j<=g[k];j++)
if (sex[d[k][i]]+sex[d[k][j]]==)
f[][d[k][j]]+=1.0/g[k];
} for (i=;i<=g[k];i++)
if (d[k][i]==y)
{
for (j=;j<=g[k];j++)
if (sex[d[k][i]]+sex[d[k][j]]==)
f[][d[k][j]]+=1.0/g[k];
}
} v1=;
for (i=;i<n;i++)
v1=max(v1,f[][i]); v2=;
for (i=;i<n;i++)
v2=max(v2,f[][i]); if (pan(v1,f[][y]) && pan(v2,f[][x]))
print(x,y);
else
{
//maybe maximum=0, double wrong(guess)
for (i=;i<n;i++)
if (pan1(f[][i],v1) && sex[i]+sex[x]==)
print(x,i);
for (i=;i<n;i++)
if (pan1(f[][i],v2) && sex[y]+sex[i]==)
print(y,i);
}
return ;
}
/*
4 1
4 -0 1 -2 3
-0 1 -0 1 ------ 4 1
3 1 -2 3
-0 1 -0 1
-0 3
1 -2 ------ 4 2
4 -0 1 -2 3
2 -0 3
1 -0 1 -0
1 -2
-0 3
*/

团体程序设计天梯赛 L2-028. 秀恩爱分得快的更多相关文章

  1. 【PTA 天梯赛】L2-028 秀恩爱分得快(模拟)

    古人云:秀恩爱,分得快. 互联网上每天都有大量人发布大量照片,我们通过分析这些照片,可以分析人与人之间的亲密度.如果一张照片上出现了 K 个人,这些人两两间的亲密度就被定义为 1/K.任意两个人如果同 ...

  2. 团体程序设计天梯赛(CCCC) L3009 长城 方法证明

    团体程序设计天梯赛代码.体现代码技巧,比赛技巧.  https://github.com/congmingyige/cccc_code

  3. 团体程序设计天梯赛(CCCC) L3021 神坛 的一些错误做法(目前网上的方法没一个是对的) 和 一些想法

    团体程序设计天梯赛代码.体现代码技巧,比赛技巧.  https://github.com/congmingyige/cccc_code

  4. 团体程序设计天梯赛(CCCC) L3019 代码排版 方法与编译原理密切相关,只有一个测试点段错误

    团体程序设计天梯赛代码.体现代码技巧,比赛技巧.  https://github.com/congmingyige/cccc_code

  5. 团体程序设计天梯赛(CCCC) L3015 球队“食物链” 状态压缩

    团体程序设计天梯赛代码.体现代码技巧,比赛技巧.  https://github.com/congmingyige/cccc_code #include <cstdio> #include ...

  6. 团体程序设计天梯赛(CCCC) L3014 周游世界 BFS证明

    团体程序设计天梯赛代码.体现代码技巧,比赛技巧.  https://github.com/congmingyige/cccc_code

  7. 团体程序设计天梯赛(CCCC) L3013 非常弹的球 不同思路

    团体程序设计天梯赛代码.体现代码技巧,比赛技巧.  https://github.com/congmingyige/cccc_code

  8. 团体程序设计天梯赛(CCCC) L3012 水果忍者 上凸或下凹的证明

    团体程序设计天梯赛代码.体现代码技巧,比赛技巧.  https://github.com/congmingyige/cccc_code #include <cstdio> #include ...

  9. 树状数组+二分答案查询第k大的数 (团体程序设计天梯赛 L3-002. 堆栈)

    前提是数的范围较小 1 数据范围:O(n) 2 查第k大的数i:log(n)(树状数组查询小于等于i的数目)*log(n)(二分找到i) 3 添加:log(n) (树状数组) 4 删除:log(n) ...

  10. PTA L2-001 紧急救援-最短路(Dijkstra)多条最短路找最优解并输出路径 团体程序设计天梯赛-练习集

    L2-001 紧急救援 (25 分)   作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图.在地图上显示有多个分散的城市和一些连接城市的快速道路.每个城市的救援队数量和每一条连接两个城市的快 ...

随机推荐

  1. 机器学习算法 --- SVM (Support Vector Machine)

    一.SVM的简介 SVM(Support Vector Machine,中文名:支持向量机),是一种非常常用的机器学习分类算法,也是在传统机器学习(在以神经网络为主的深度学习出现以前)中一种非常牛X的 ...

  2. 笨办法学Python - 习题8-10: Printing & Printing, Printing

    目录 1.习题 8: 打印,打印 2.习题 9: 打印,打印,打印 3.习题 10: 那是什么? 3.1.转义序列: 4.习题总结: 1.习题 8: 打印,打印 学习目标:继续学习 %r 的格式化输出 ...

  3. python循环综合运用

    循环很重要,计算机很蠢,唯一的优势就是按照指令不停的执行,所以决定在说一下. break语句,用在循环体中,迫使循环立即终止,即跳出所在循环体,继续执行循环体后面的语句. sum=0 i=1 whil ...

  4. css修改input自动提示的黄色背景

    css修改input自动提示的黄色背景 input:-webkit-autofill { background-color: #FAFFBD; background-image: none; -web ...

  5. php 数组去重

    php 数组去重 数组中重复项的去除 2010-07-28 15:29 一维数组的重复项: 使用array_unique函数即可,使用实例如下: <?php                    ...

  6. Daily Scrumming* 2015.10.28(Day 9)

    一.总体情况总结 今日项目总结: 1.前后端同一了API设计以及API权限认证.用户状态保存的开发方案 2.API以及后端模型已经开始开发,前端UEditor开始学习,本周任务有良好的起步 3.前后端 ...

  7. 20162328蔡文琛 大二week01

    教材学习内容总结 算法+程序机构=程序 渐进复杂度称为算法的阶. 算法分析是计算机科学的基础课题. 增长函数显示了与问题大小相关的时间或空间的利用率. 算法的阶由算法增长函数的主项决定. 算法的阶给出 ...

  8. Sprint9

    进展:完善设置事件提醒界面,增加调用手机铃声部分,以及是否选择振动,以及可以添加事件进行保存.

  9. Hibernate笔记①--myeclipse制动配置hibernate

    Hibernate 是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. Hibernate可以应用在任何使用JD ...

  10. StringBuffer 与 StringBuilder类的使用

    /*如果需要频繁修改字符串 的内容,建议使用字符串缓冲 类(StringBuffer). StringBuffer 其实就是一个存储字符 的容器. 笔试题目:使用Stringbuffer无 参的构造函 ...