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. 20172329 2018-2019-2 《Java软件结构与数据结构》实验二报告

    20172329 2018-2019-2 <Java软件结构与数据结构>实验二报告 课程:<Java软件结构与数据结构> 班级: 1723 姓名: 王文彬 学号:2017232 ...

  2. c# 写文件注意问题及用例展示

    以txt写string举例,正确代码如下: private void xie() { FileStream fs = new FileStream("1.txt", FileMod ...

  3. 人and绩效and职业道德

    人行走在这个世界上 避免不了的是各种悲哀 人就像是一个茶几 上面放满了各种杯具 而要做的是要么把杯具打碎了咽下去,要么被杯具打晕 本布衣 躬耕于南阳 不求闻达于诸侯 每个人都可以选择自己的生活方式 或 ...

  4. 第五次作业+4505B寝室队

    1.需求分析: 作一个简单的MP3播放器,并能显示播放文件的路径. 2.设计思路: 用窗体设计播放器的界面,以市面上主流的播放器为标准,采用一个窗体的界面. 3.实现的功能: 第一是能播放MP3文件, ...

  5. 福大软工 Alpha 事后诸葛亮

    写在前面 林燊大哥 一路走来,好不容易,终于完结了. 设想和目标 1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 解决的问题 用户在进店之前无法得知店铺的优劣 ...

  6. pygame学习笔记(2)——从画点到动画

    转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 1.单个像素(画点)利用pygame画点主要有三种方法:方法一:画长宽为1个像素的正方形 #@小五义 http:/ ...

  7. sql中详解round(),floor(),ceiling()函数的用法和区别?

    round() 遵循四舍五入把原值转化为指定小数位数,如:round(1.45,0) = 1;round(1.55,0)=2floor()向下舍入为指定小数位数 如:floor(1.45,0)= 1; ...

  8. 【vue】import的使用

    以下是vue默认模板结构,自动加载HelloWorld (1)@ 等价于 /src 这个目录,避免写麻烦又易错的相对路径,是在webpack.base.config.js里面配置好别名 (2)impo ...

  9. sublinme 快捷键格式

    {"keys": ["ctrl+shift+f"], "command": "reindent" , "arg ...

  10. C#中重写(override)和覆盖(new)的区别

    重写 用关键字 virtual 修饰的方法,叫虚方法.可以在子类中用override 声明同名的方法,这叫“重写”.相应的没有用virtual修饰的方法,我们叫它实方法.重写会改变父类方法的功能.看下 ...