r

//15------ 0和-0没考虑
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>using namespace std;
const int N = 10010;int n, m;
vector<int>G[N];
double sum[N] = { 0 };
int sex[N] = { 0 };bool cmp(int a, int b) {return abs(a) < abs(b);
}int main() {cin >> n >> m;for (int i = 0; i < m; i++) {//存储每张图片的信息+性别[]=【】int k;cin >> k;for (int j = 0; j < k; j++) {int tmp;//string 我们稍后考虑cin >> tmp;G[i].push_back(tmp);sex[abs(tmp)] = tmp;}}int q[3] = {0};cin >> q[1]>> q[2];for(int k=1;k<=2;k++){//找到要找的人所在的图片,计算这张图片的异性sum//memset(sum, 0, sizeof(sum));for (int i = 0; i < m; i++) {bool flag = 0;for (int j = 0; j < G[i].size(); j++) {if (G[i][j] == q[k]) {flag = 1;break;}}if (flag == 1) {for (int j = 0; j < G[i].size(); j++) {if (q[k] * G[i][j] < 0) {sum[abs(G[i][j])]+= 1.0 / G[i].size();}}}}}double maxn[3];maxn[1] = maxn[2] = -1;//异性亲密最大值vector<int>v[3];for (int k = 1; k <= 2; k++) {for (int i = 1; i <= 1000; i++) {if (q[k] * sex[i] < 0) {if (sum[i] > maxn[k]) {//cout <<sum[i];maxn[k] = sum[i];//cout <<":"<<maxn[k]<<endl;v[k].clear();v[k].push_back(sex[i]);//最亲密的异性}else if (sum[i] == maxn[k]) {v[k].push_back(sex[i]);}}}}if (maxn[1] == sum[abs(q[2])] && maxn[2] == sum[abs(q[1])]) {cout << q[1] << " " << q[2];return 0;}for (int k = 1; k <= 2; k++) {sort(v[k].begin(), v[k].end(), cmp);for (int i = 0; i < v[k].size(); i++) {//cout << "---" << endl;cout << q[k] << " " << v[k][i] << endl;}}return 0;
}
bool cmp(int a, int b) {if (abs(a) == 1000)return true;//??????if (abs(b) == 1000)return false;return abs(a) < abs(b);
}
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;bool cmp(int a, int b) {if (abs(b) == 1000)return true;//??????if (abs(a) == 1000)return false;return abs(a) < abs(b);
}
------------------------------------------
int main()
{int a[10]={1,3,999,222,888,1000};sort(a,a+10,cmp);for(int i=0;i<10;i++)cout<<a[i]<<" ";//1000 0 0 0 0 1 3 222 888 999//true//0 0 0 0 1 3 222 888 999 1000//falsereturn 0;
}
//模拟
/*
10 4
4 -1 2 -3 4
4 2 -3 -5 -6
3 2 4 -5
3 -6 0 2
-3 2
*/#include <iostream>
#include <string>
#include <vector>
#include <algorithm>using namespace std;
const int N = 10010;int n, m;
vector<int>G[N];
int sex[N] = { 0 };string s;
int love[3] = { 0 };double sum[N] = { 0 };//遍历每张照片,把男主女主对应的异性亲密度用sum数字累加起来
//并维护maxn[1],maxn[2]为男女主的最亲密度值
double maxn[3] = { 0 };
//ans[1]和ans[2]为最亲密异性id
vector<int>ans[N];bool cmp(int a, int b) {if (abs(a) == 1000)return true;if (abs(b) == 1000)return false;return abs(a) < abs(b);
}int main() {cin >> n >> m;//10 4for (int i = 0; i < m; i++) {int k;cin >> k;for (int j = 0; j < k; j++) {cin >> s;//0 -0if (s == "0")s = "1000";if (s == "-0")s = "-1000";int num = stoi(s);sex[abs(num)] = num;G[i].push_back(num);}}for (int i = 1; i <= 2; i++) {cin >> s;if (s == "0")s = "1000";if (s == "-0")s = "-1000";love[i] = stoi(s);//整理 用love[i]存储自己的编号}for (int k = 1; k <= 2; k++) {for (int i = 0; i < m; i++) {//每一行中,找给出的第1或2个的对象在不在int flag = 0;for (int j = 0; j < G[i].size(); j++) {if (G[i][j] == love[k]) {flag = 1;//在的话就标记 找到了break;}}if (flag == 1) {//在这一行找到了对象for (int j = 0; j < G[i].size(); j++) {if (love[k] * G[i][j] < 0) {//妙啊,找异性,我的编号*你的编号<0sum[abs(G[i][j])] += 1.0 / G[i].size();//我碰过的都操作=======}}}}}maxn[1] = maxn[2] = -1;for (int k = 1; k <= 2; k++) {for (int i = 1; i <= 1000; i++) {if (love[k] * sex[i] < 0) {if (sum[i] > maxn[k]) {//max[1]//max[2]sum[i]=maxn[k] = sum[i];ans[k].clear();ans[k].push_back(sex[i]);}else if (sum[i] == maxn[k])ans[k].push_back(sex[i]);}}}if (maxn[1] == sum[abs(love[2]) && maxn[2] == sum[abs(love[1])]]) {string s1 = to_string(love[1]), s2 = to_string(love[2]);if (love[1] == 1000)s1 = "0";if (love[1] == -1000)s1 = "-0";if (love[2] == 1000)s2 = "0";if (love[2] == -1000)s2 = "-0";cout << s1 << " " << s2 << endl;return 0;//判断男主女主是否互为最亲密,如果是,输出并return 0}for (int k = 1; k <= 2; k++) {sort(ans[k].begin(), ans[k].end(), cmp);//排序,让0号(1000)排在第一个for (int i = 0; i < ans[k].size(); i++) {string s1 = to_string(love[k]), s2 = to_string(ans[k][i]);//亲密度从小到大ansif (love[k] == 1000)s1 = "0";if (love[k] == -1000)s1 = "-0";if (ans[k][i] == 1000)s2 = "0";if (ans[k][i] == -1000)s2 = "-0";cout << s1 << " " << s2 << endl;//否则分别输出他们的最亲密好友}}return 0;
}

|sex[]_sum[],G_ans|L2-028 秀恩爱分得快相关推荐

  1. 2018 CCCC天梯赛 L2 04 秀恩爱分得快

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

  2. 秀恩爱分得快 (25 分)

    L2-028 秀恩爱分得快 (25 分) 古人云:秀恩爱,分得快. 互联网上每天都有大量人发布大量照片,我们通过分析这些照片,可以分析人与人之间的亲密度.如果一张照片上出现了 K 个人,这些人两两间的 ...

  3. 【CCCC】L2-028 秀恩爱分得快 (25分),模拟题

    problem L2-028 秀恩爱分得快 (25分) 古人云:秀恩爱,分得快. 互联网上每天都有大量人发布大量照片,我们通过分析这些照片,可以分析人与人之间的亲密度.如果一张照片上出现了 K 个人, ...

  4. PTA:7-37 秀恩爱分得快 (简洁易懂,详解)

    7-37 秀恩爱分得快 (25分) 古人云:秀恩爱,分得快. 互联网上每天都有大量人发布大量照片,我们通过分析这些照片,可以分析人与人之间的亲密度.如果一张照片上出现了 K 个人,这些人两两间的亲密度 ...

  5. 团体程序设计天梯赛-练习集 L2-028 秀恩爱分得快 (25 分) (详细解法)

    题目链接:L2-028 秀恩爱分得快 题目: 古人云:秀恩爱,分得快. 互联网上每天都有大量人发布大量照片,我们通过分析这些照片,可以分析人与人之间的亲密度.如果一张照片上出现了 K 个人,这些人两两 ...

  6. 【 天梯赛L2-028 秀恩爱分得快】

    天梯赛L2-028 秀恩爱分得快 题目详情: 思路: 借鉴大佬的思路:虽然这个代码存在超时的风险:但这个思路确实是简单暴力 这个题有个不好处理的点就是-0是个女生,所以一定要用字符串去存,但是0和-0 ...

  7. L2-028 秀恩爱分得快 (25 分)

    L2-028 秀恩爱分得快 (25 分) 古人云:秀恩爱,分得快. 互联网上每天都有大量人发布大量照片,我们通过分析这些照片,可以分析人与人之间的亲密度.如果一张照片上出现了 K 个人,这些人两两间的 ...

  8. PTA 秀恩爱分得快

    L2-028 秀恩爱分得快 (25 分) 古人云:秀恩爱,分得快. 互联网上每天都有大量人发布大量照片,我们通过分析这些照片,可以分析人与人之间的亲密度.如果一张照片上出现了 K 个人,这些人两两间的 ...

  9. L2-028 秀恩爱分得快 (25 分) 两种解法,详细分析

    L2-028 秀恩爱分得快 (25 分) 古人云:秀恩爱,分得快. 互联网上每天都有大量人发布大量照片,我们通过分析这些照片,可以分析人与人之间的亲密度.如果一张照片上出现了 K 个人,这些人两两间的 ...

  10. 重返天梯-L2-028 秀恩爱分得快 (25 分)

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

最新文章

  1. 【转】使用Javascript改变HTML内容
  2. linux的内核设计,Linux内核设计艺术(经典).pdf
  3. 【学习笔记】5、Python基础语法
  4. 项目管理之需求调研感悟
  5. golang bool布尔类型浅讲
  6. Nginx服务的信号控制
  7. mac 配置/etc/profile重启后不生效
  8. 使用Spock Mocks进行Grails 3.3集成测试
  9. 电子科学与技术相关索引汇总
  10. bzoj3527: [Zjoi2014]力 fft
  11. 软工实践Alpha冲刺(6/10)
  12. Mac翻译软件Mate Translate
  13. android adb驱动win7,adbwin7下载地址_win7安装adb驱动的方法
  14. 有道词典 PC端 手机端 单词 背 个数 不同步 解决
  15. Android仿微信语音聊天功能
  16. 怎么申请https证书
  17. 桌面视频录制软件有哪些?怎么简单又快地录制视频?
  18. androidnbsp;软件apk
  19. python3总结和spider爬虫
  20. 喜大普奔!Maya 2022来了?!

热门文章

  1. 2023大连民族大学计算机考研信息汇总
  2. 打牌(求牌型方案数)
  3. 数据库 字段长度_全美都在用的大型肿瘤数据库,教你用别人的数据搞定一篇SCI...
  4. quasar ssr 开发网站
  5. 使用高斯混合模型(GMM)近似未知分布:EM算法的应用
  6. 如何在 Mac OS 2022 上的 Visual Studio Code 中运行 C++
  7. JST-IOT-TPN三相宽带载波模块在物联网中的应用
  8. CSS基础学习--6 CSS Text(文本)
  9. 高仿人人android梦想版终极源码发送,人人Android客户端梦想版:一秒钟变微信
  10. 计算机的使用英语作文,关于电脑作用英语作文