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. Centos7 zabbix 自动发现与注册

    自动发现与自动注册 自动发现: zabbix Server主动发现所有客户端,然后将客户端登记自己的小本上,缺点zabbix server压力山大(网段大,客户端多),时间消耗多. 自动注册: zab ...

  2. Centos7.2构建Python3.6开发环境

    1.安装python3.6 1.这里使用一台全新的腾讯云主机,首先获取linux系统版本信息. [root@VM_46_121_centos ~]# cat /etc/redhat-release C ...

  3. android学习-2 (AVD 创建)

    在Android studio的tools下选择AVD manager 按照指示选择相应的硬件和系统映像. 在模拟器中运行应用 选择RUN APP 选择RUN时,并不只运行应用,还会处理运行应用所需要 ...

  4. MathExam第二次作业

    第二次作业:MathExam 一.预估与实际 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划 20 30 • ...

  5. 奔跑吧DKY——团队Scrum冲刺阶段-Day 1-领航

    各个成员在 Alpha 阶段认领的任务 修改 序号 修改 具体描述 1 游戏过程 取消原来的跳跃和俯身按钮,保留跳跃的功能,可以触屏滑动来躲避地面障碍物,也可以躲避另一种陷阱障碍物 2 闯关功能 取消 ...

  6. 《Spring2之站立会议2》

    <Spring2之站立会议2> 昨天,模仿着资料把客户端和服务器端的代码写了一下: 今天,继续找本机的端口号和逐步深入理解代码含义: 遇到的问题,在理解时,对一些知识理解还是比较朦胧,一知 ...

  7. 《Spring1之第五次站立会议》

    <第五次站立会议> 昨天:试着做了一下主框架里的在线人数的显示代码: 今天:向小伙伴们请教了我代码的错误的解决方法以及对TCP/IP协议进行了相关的了解. 遇到的问题:虽然基本原理不难理解 ...

  8. 学习pl/sql之一

    --使用pl/sql语句打印一个hello world begin   dbms_output.put_line('hello,world'); end;      但是在sqlplus里面就不一样了 ...

  9. eclipse异常关闭,而Tomcat然在运行解决方法

    1.eclipse异常关闭,而Tomcat然在运行,再启动tomcat会出现端口冲突 解决方法:打开任务管理器,找到javaw.exe,点击关闭,就可以了

  10. <构建之法>阅读感想

    在阅读<构建之法>之前,我所认为的软件就是通过c,c++等语言编程,制作出的一个能满足人们操作需求的一些代码,认为一个好的软件工程师,就是能够在很短的时间之内,最快的根据需求写出几段代码程 ...