芯片制作(插头DP写法)

 

ZJNQDEZ有名的帅哥之一,作为学生会的重要干部,经常接到丰富多彩的学生活动的通知,下面就是一项科技实践活动~~~~~

计算机的大脑通常被称为CPU

现在国家XX局交给ZJN一个重要任务,要求他制作一种新型的CPU,幸运的是,CPU研究中心已经将好多个CPU内核蚀刻在硅片上了,这种硅片很可爱,它是由3n2个内核拼成的L型。当n=5的时候,硅片的形状如下图所示。ZJN的任务就是把CPU内核从硅片上切割下来,封装在一个铜盒子里拿出来卖钱。

 

 

由于技术原因,CPU的蚀刻有可能失败,如果某个CPU内核蚀刻失败了,它就不能卖钱了。在上图中,有3个内核蚀刻失败,蚀刻失败的内核的坐标分别是C4F2G5。显然,如果硅片上有mCPU内核蚀刻失败了,则有3n2-m个内核是可以卖钱的,如果每个CPU内只装1个内核(貌似这就是传统的单核处理器~),此时你就可以做出3n2-mCPU

ZJN还是日理万机的忙,于是雇用了小弟你来替他完成这个东西。他把所有人物都交给了你,去干更重要的事情了。你的任务就是帮助ZJN~~~

突然,国家发展和改革委员会决定要发展双核处理器技术。东风来,万树CPU花开,你要做的是双核处理器了。上司告诉你,如果在L型硅片上任意两个相邻的CPU内核都是完好的,那么你就可以把它们一起切下来做成一个双核CPU。所谓相邻,指的是CPU内核有一条公共边界。

由于你的薪水是按照做出的CPU的个数决定的,现在你想算算最多能切出多少个双核的CPU

双核,无限可能~~~

【输入文件】  zjn.in

第一行包含2个整数n,k

以下K行,每行包括一个字母和紧跟着的一个整数,代表一个蚀刻失败的CPU的坐标。文件保证坐标在L型硅片内。

【输出文件】  zjn.out

一行,仅包含一个整数,代表能切出的最多双核CPU个数。

【样例输入】

2 3

D1

A3

C2

【样例输出】

4

【数据范围】

100%的数据中2<=n<=7, 0.1n2<=k<=3n2

测试数据中n是平均分布的。

=====================================================

题目地址:http://acm.nefu.edu.cn/JudgeOnline/problem/508.jsp

分析:noip时的练习题,以前用简单的位运算做的复杂度太高了。。。学了插头DP,许多类似的题都迎刃而解了
嘿嘿。。。想做的可以找我要数据。。。
代码:

 

 

发布了409 篇原创文章 · 获赞 16 · 访问量 61万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览