可怜的蚁人进入量子领域后,黄蜂女被灭霸的一个响指带走,导致可怜的蚁人困在了量子领域,为了生存,他们开始建造自己家园。

蚁人为了方便在这里生存,他们建造了自己火车站。某车站有N个人上车,其中M对是情侣,当然其余的人都是单身。由于火车不是首发站,车上免不了座位已经被占用。但是对于情侣有如下条件:

1.上车后情侣需要坐在一起才能继续保持情侣身份(即座位相邻),如果他们没有坐在一起,他们将会分手不再保持情侣(有些恶劣)。

2.对于单身乘客,如果两个单身乘客坐在一起也可以变成情侣(仅限于本站上车的单身蚁人,且蚁人不存在男女之分,emmm)。

火车每排座位表:OO|OX (’O’表示座位空闲;’|’表示过道;’X’表示座位已经被占用,’X’的位置不确定)列车有k排座位。

当然,我们希望看到尽可能多的蚁人情侣出现在这个列车上。

输入第一行输入三个数字:N上车人数,M情侣对数,K车厢座位排数。(1<N,M,K<1000)

接下来K行每行是车站到达此站时每排的座位排布图

输出

如果火车可以承载车站的所有人,请计算出上车后情侣对数和单身人数。(情侣人数要尽可能多!!!)

如果火车无法承载车站的所有人,请输出’-1’表示无法承载车站的所有人。

样例输入 Copy

15 3 6
OO|XX
XO|XX
OX|OO
XX|OX
OO|XX
OX|XX

样例输出 Copy

-1

解析:

我们从题意得知我们是希望在车上得到最多的情侣数量并输出。首先你需要查找座位个数是否满足所有人上车,如果座位数不够则无法上车,输出“-1”即可。其次因为需要情侣数量最多,那么你可以想到只要计算车上的双人座位(即“OO“形式)的个数有多少个,然后跟乘车人数除以2进行比较即可。如果双人座位数量大于乘车人数的/2,则我们选择乘车人数的/2作为CP数量,否则我们选择双人座位数量作为CP数量,最会用总数减去(CP数量*2)即为单身数量。

AC代码:

#pragma GCC optimize(2)
#include<bits/stdc++.h>
using namespace std;
inline int read() {int x=,f=;char c=getchar();while(c!='-'&&(c<''||c>''))c=getchar();if(c=='-')f=-,c=getchar();while(c>=''&&c<='')x=x*+c-'',c=getchar();return f*x;}
typedef long long ll;
const int maxn = 1e5+;
char a[maxn][];
int main()
{
int n,m,k;
cin>>n>>m>>k;
for(int i=;i<k;i++){
scanf("%s",a[i]);
}
int sum=;
int ans=;
for(int i=;i<k;i++){
for(int j=;j<;j++){
if(a[i][j]=='O'){
ans++;
}
if(a[i][j]=='O'&&a[i][j+]=='O'){
sum++;
}
}
}
if(ans<n){
printf("-1\n");
}
else{
if(sum>=n/){
printf("%d %d\n",n/,n-n/*);
}
else{
printf("%d %d\n",sum,n-*sum);
}
}
return ;
}

蚁人cp数的更多相关文章

  1. linux之cp/scp命令+scp命令详解

    名称:cp 使用权限:所有使用者 使用方式: cp [options] source dest cp [options] source... directory 说明:将一个档案拷贝至另一档案,或将数 ...

  2. Linux cp (复制)命令简介

    \cp  -rf  source1  source2   source3   ....   directory cp (复制档案或目录) [root@linux ~]# cp [-adfilprsu] ...

  3. Linux2:vi、ls、cd、pwd、mkdir、rm、mv、cp、cat、tail

    前言 从本篇文章开始,每篇文章将写10个Linux命令,个人的写作想法是: 1.常用的Linux命令,那些生僻的.不常用的就不写了 2.从实际考虑,只列出每个命令常见的用法和参数选项,有兴趣了解进一步 ...

  4. Linux中cp和scp命令的使用方法

    Linux为我们提供了两个用于文件copy的命令,一个是cp,一个是scp,但是他们略有不同. cp --- 主要是用于在同一台电脑上,在不同的目录之间来回copy文件 scp --- 主要是在不同的 ...

  5. linux之cp/scp命令+scp命令详解(转)

    名称:cp 使用权限:所有使用者 使用方式: cp [options] source dest cp [options] source... directory 说明:将一个档案拷贝至另一档案,或将数 ...

  6. [Z] 计算机类会议期刊根据引用数排名

    一位cornell的教授做的计算机类期刊会议依据Microsoft Research引用数的排名 link:http://www.cs.cornell.edu/andru/csconf.html Th ...

  7. linux cp命令参数及用法详解

    cp (复制档案或目录)[root@linux ~]# cp [-adfilprsu] 来源档(source) 目的檔(destination)[root@linux ~]# cp [options] ...

  8. CP,SCP 命令(包括windows与linux用xshell互传)

    linux之cp/scp命令+scp命令详解 名称:cp 使用权限:所有使用者 使用方式: cp [options] source dest cp [options] source... direct ...

  9. shell 外部传入jmeter脚本线程数,rampUp时间,持续运行时间

    jmeter参数化部分参考上一篇 shell参数说明:$1线程数,$2:全部并发数rampup时间,$3:脚本持续运行时间,$4:每次脚本循环持续时间 $5:所以循环持续时间 #!/bin/bash ...

随机推荐

  1. 【Python】简单计算器

    #python 3.7.1 print("operation codes are:") print("1 for multiply") print(" ...

  2. java简单学生成绩管理系统

    题目要求: 一. 数据结构要求:(5 分) 1.定义 ScoreInformation 类,其中包括七个私有变量(stunumber, name, mathematicsscore, englishi ...

  3. codeforces div2_604 E. Beautiful Mirrors(期望+费马小定理)

    题目链接:https://codeforces.com/contest/1265/problem/E 题意:有n面镜子,你现从第一面镜子开始询问,每次问镜子"今天我是否美丽",每天 ...

  4. 140. 单词拆分 II

    Q: 给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中.返回所有这些可能的句子. 说明: 分隔时可以重复使用字典 ...

  5. spring面试合集

    Spring是一个开源的轻量级Java SE / Java EE开发应用框架.在传统应用程序开发中,一个完整的应用是由一组相互协作的对象组成.所以开发一个应用除了要开发业务逻辑之外,最多的是关注如何使 ...

  6. php设计模式之责任链模式实现举报功能实例代码

    html <html> <head> <meta charset="UTF-8"> <title>责任链模式</title&g ...

  7. 题解【loj6277】数列分块入门1

    题目描述 给出一个长为\(n\)的数列,以及\(n\)个操作,操作涉及区间加法,单点查值. 输入格式 第一行输入一个数字\(n\). 第二行输入\(n\)个数字,第\(i\)个数字为\(a_{i}\) ...

  8. 2019牛客多校第二场F Partition problem 暴力+复杂度计算+优化

    Partition problem 暴力+复杂度计算+优化 题意 2n个人分成两组.给出一个矩阵,如果ab两个在同一个阵营,那么就可以得到值\(v_{ab}\)求如何分可以取得最大值 (n<14 ...

  9. SAIF anno

    https://www.cnblogs.com/IClearner/p/6898463.html SAIF--RTL BACK分析法 RTL backward SAIF文件是通过对RTL代码进行仿真得 ...

  10. Makefile的编写及四个特殊符号的意义@、$@、$^、$

    https://www.cnblogs.com/sky-heaven/p/9450435.html Makefile一般的格式是: target:components rule 一.@ 这个符串通常用 ...