团体程序设计天梯赛 L2-028. 秀恩爱分得快
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. 秀恩爱分得快的更多相关文章
- 【PTA 天梯赛】L2-028 秀恩爱分得快(模拟)
古人云:秀恩爱,分得快. 互联网上每天都有大量人发布大量照片,我们通过分析这些照片,可以分析人与人之间的亲密度.如果一张照片上出现了 K 个人,这些人两两间的亲密度就被定义为 1/K.任意两个人如果同 ...
- 团体程序设计天梯赛(CCCC) L3009 长城 方法证明
团体程序设计天梯赛代码.体现代码技巧,比赛技巧. https://github.com/congmingyige/cccc_code
- 团体程序设计天梯赛(CCCC) L3021 神坛 的一些错误做法(目前网上的方法没一个是对的) 和 一些想法
团体程序设计天梯赛代码.体现代码技巧,比赛技巧. https://github.com/congmingyige/cccc_code
- 团体程序设计天梯赛(CCCC) L3019 代码排版 方法与编译原理密切相关,只有一个测试点段错误
团体程序设计天梯赛代码.体现代码技巧,比赛技巧. https://github.com/congmingyige/cccc_code
- 团体程序设计天梯赛(CCCC) L3015 球队“食物链” 状态压缩
团体程序设计天梯赛代码.体现代码技巧,比赛技巧. https://github.com/congmingyige/cccc_code #include <cstdio> #include ...
- 团体程序设计天梯赛(CCCC) L3014 周游世界 BFS证明
团体程序设计天梯赛代码.体现代码技巧,比赛技巧. https://github.com/congmingyige/cccc_code
- 团体程序设计天梯赛(CCCC) L3013 非常弹的球 不同思路
团体程序设计天梯赛代码.体现代码技巧,比赛技巧. https://github.com/congmingyige/cccc_code
- 团体程序设计天梯赛(CCCC) L3012 水果忍者 上凸或下凹的证明
团体程序设计天梯赛代码.体现代码技巧,比赛技巧. https://github.com/congmingyige/cccc_code #include <cstdio> #include ...
- 树状数组+二分答案查询第k大的数 (团体程序设计天梯赛 L3-002. 堆栈)
前提是数的范围较小 1 数据范围:O(n) 2 查第k大的数i:log(n)(树状数组查询小于等于i的数目)*log(n)(二分找到i) 3 添加:log(n) (树状数组) 4 删除:log(n) ...
- PTA L2-001 紧急救援-最短路(Dijkstra)多条最短路找最优解并输出路径 团体程序设计天梯赛-练习集
L2-001 紧急救援 (25 分) 作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图.在地图上显示有多个分散的城市和一些连接城市的快速道路.每个城市的救援队数量和每一条连接两个城市的快 ...
随机推荐
- 机器学习算法 --- SVM (Support Vector Machine)
一.SVM的简介 SVM(Support Vector Machine,中文名:支持向量机),是一种非常常用的机器学习分类算法,也是在传统机器学习(在以神经网络为主的深度学习出现以前)中一种非常牛X的 ...
- 笨办法学Python - 习题8-10: Printing & Printing, Printing
目录 1.习题 8: 打印,打印 2.习题 9: 打印,打印,打印 3.习题 10: 那是什么? 3.1.转义序列: 4.习题总结: 1.习题 8: 打印,打印 学习目标:继续学习 %r 的格式化输出 ...
- python循环综合运用
循环很重要,计算机很蠢,唯一的优势就是按照指令不停的执行,所以决定在说一下. break语句,用在循环体中,迫使循环立即终止,即跳出所在循环体,继续执行循环体后面的语句. sum=0 i=1 whil ...
- css修改input自动提示的黄色背景
css修改input自动提示的黄色背景 input:-webkit-autofill { background-color: #FAFFBD; background-image: none; -web ...
- php 数组去重
php 数组去重 数组中重复项的去除 2010-07-28 15:29 一维数组的重复项: 使用array_unique函数即可,使用实例如下: <?php ...
- Daily Scrumming* 2015.10.28(Day 9)
一.总体情况总结 今日项目总结: 1.前后端同一了API设计以及API权限认证.用户状态保存的开发方案 2.API以及后端模型已经开始开发,前端UEditor开始学习,本周任务有良好的起步 3.前后端 ...
- 20162328蔡文琛 大二week01
教材学习内容总结 算法+程序机构=程序 渐进复杂度称为算法的阶. 算法分析是计算机科学的基础课题. 增长函数显示了与问题大小相关的时间或空间的利用率. 算法的阶由算法增长函数的主项决定. 算法的阶给出 ...
- Sprint9
进展:完善设置事件提醒界面,增加调用手机铃声部分,以及是否选择振动,以及可以添加事件进行保存.
- Hibernate笔记①--myeclipse制动配置hibernate
Hibernate 是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库. Hibernate可以应用在任何使用JD ...
- StringBuffer 与 StringBuilder类的使用
/*如果需要频繁修改字符串 的内容,建议使用字符串缓冲 类(StringBuffer). StringBuffer 其实就是一个存储字符 的容器. 笔试题目:使用Stringbuffer无 参的构造函 ...