A10788 | Game of Credit Cards
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
After the fourth season Sherlock and Moriary have realized the whole foolishness of the battle between them and decided to continue their competitions in peaceful game of Credit Cards.
Rules of this game are simple: each player bring his favourite $n$ -digit credit card. Then both players name the digits written on their cards one by one. If two digits are not equal, then the player, whose digit is smaller gets a flick (knock in the forehead usually made with a forefinger) from the other player. For example, if $n=3$ , Sherlock's card is $123$ and Moriarty's card has number $321$ , first Sherlock names $1$ and Moriarty names $3$ so Sherlock gets a flick. Then they both digit $2$ so no one gets a flick. Finally, Sherlock names $3$ , while Moriarty names $1$ and gets a flick.
Of course, Sherlock will play honestly naming digits one by one in the order they are given, while Moriary, as a true villain, plans to cheat. He is going to name his digits in some other order (however, he is not going to change the overall number of occurences of each digit). For example, in case above Moriarty could name $1$ , $2$ , $3$ and get no flicks at all, or he can name $2$ , $3$ and $1$ to give Sherlock two flicks.
Your goal is to find out the minimum possible number of flicks Moriarty will get (no one likes flicks) and the maximum possible number of flicks Sherlock can get from Moriarty. Note, that these two goals are different and the optimal result may be obtained by using different strategies.
Rules of this game are simple: each player bring his favourite $n$ -digit credit card. Then both players name the digits written on their cards one by one. If two digits are not equal, then the player, whose digit is smaller gets a flick (knock in the forehead usually made with a forefinger) from the other player. For example, if $n=3$ , Sherlock's card is $123$ and Moriarty's card has number $321$ , first Sherlock names $1$ and Moriarty names $3$ so Sherlock gets a flick. Then they both digit $2$ so no one gets a flick. Finally, Sherlock names $3$ , while Moriarty names $1$ and gets a flick.
Of course, Sherlock will play honestly naming digits one by one in the order they are given, while Moriary, as a true villain, plans to cheat. He is going to name his digits in some other order (however, he is not going to change the overall number of occurences of each digit). For example, in case above Moriarty could name $1$ , $2$ , $3$ and get no flicks at all, or he can name $2$ , $3$ and $1$ to give Sherlock two flicks.
Your goal is to find out the minimum possible number of flicks Moriarty will get (no one likes flicks) and the maximum possible number of flicks Sherlock can get from Moriarty. Note, that these two goals are different and the optimal result may be obtained by using different strategies.
输入格式
The first line of the input contains a single integer $n$ ( $1<=n<=1000$ ) — the number of digits in the cards Sherlock and Moriarty are going to use.
The second line contains $n$ digits — Sherlock's credit card number.
The third line contains $n$ digits — Moriarty's credit card number.
The second line contains $n$ digits — Sherlock's credit card number.
The third line contains $n$ digits — Moriarty's credit card number.
输出格式
First print the minimum possible number of flicks Moriarty will get. Then print the maximum possible number of flicks that Sherlock can get from Moriarty.
输入输出样例
输入 #1
3 123 321
输出 #1
0 2
输入 #2
2 88 00
输出 #2
2 0
First sample is elaborated in the problem statement. In the second sample, there is no way Moriarty can avoid getting two flicks.
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted