3175: [Tjoi2013]攻击装置

本文介绍了一种解决棋盘问题的算法,通过构建边连接和最大独立集的概念,详细解释了如何通过代码实现解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

所有的白格向能攻击到的黑格连单向边,然后最大独立集就行了。细节看代码吧。

RunIDUserProblemResultMemoryTimeLanguageCode_LengthSubmit_Time
411274lbz0073175Accepted20068 kb2212 msPascal/Edit1637 B2013-05-13 17:19:41
 1 const
 2   x:array[1..8]of longint=(-1,-2,1,2,-1,-2,1,2);
 3   y:array[1..8]of longint=(-2,-1,-2,-1,2,1,2,1);
 4 var
 5   n,i,j,k,numa,ans,ee:longint;
 6   b,link,e,head,next:Array[1..1000000]of longint;
 7   d,a:Array[1..200,1..200]of longint;
 8   c:char;
 9 procedure add(u,v:longint);
10   begin
11   inc(ee);next[ee]:=head[u];head[u]:=ee;e[ee]:=v;
12   //inc(ee);next[ee]:=head[v];head[v]:=ee;e[ee]:=u ;
13   end;
14 function find(x:longint):boolean;
15   var j:longint;
16   begin
17   j:=head[x];
18   while j<>0 do
19     begin
20     if b[e[j]]<>i then
21       begin
22       b[e[j]]:=i;
23       if (link[e[j]]=0) or (find(link[e[j]])) then
24         begin
25         link[e[j]]:=x;
26         exit(true);
27         end;
28       end;
29     j:=next[j];
30     end;
31   exit(false);
32 end;
33 begin
34   readln(n);
35   for i:=1 to n do
36     begin
37     for j:=1 to n do
38       begin
39       read(c);if c='0' then inc(numa);
40       a[i,j]:=ord(c)-ord('0');
41       end;
42     readln;
43     end;
44   for i:=1 to n do
45     for j:=1 to n do
46       begin inc(k);d[i,j]:=k;end;
47   for i:=1 to n do
48     for j:=1 to n do
49       if (a[i,j]=0)and((i+j) mod 2=0) then
50         for k:=1 to 8 do
51           if (i+x[k]>0)and(i+x[k]<=n)and(j+y[k]>0)and(j+y[k]<=n)then
52             if a[i+x[k],j+y[k]]=0 then
53               add(d[i,j],d[i+x[k],j+y[k]]);
54  
55   for k:=1 to n do
56     for j:=1 to n do
57       if (k+j) mod 2=0 then
58         if a[k,j]=0 then
59           begin
60           i:=d[k,j];
61           if find(i) then inc(ans);
62           end;
63   writeln(numa-ans);
64 end.
View Code

 

转载于:https://www.cnblogs.com/lbz007oi/archive/2013/05/14/3078122.html

内容概要:本文档详细介绍了Analog Devices公司生产的AD8436真均方根-直流(RMS-to-DC)转换器的技术细节及其应用场景。AD8436由三个独立模块构成:轨到轨FET输入放大器、高动态范围均方根计算内核和精密轨到轨输出放大器。该器件不仅体积小巧、功耗低,而且具有广泛的输入电压范围和快速响应特性。文档涵盖了AD8436的工作原理、配置选项、外部组件选择(如电容)、增益调节、单电源供电、电流互感器配置、接地故障检测、三相电源监测等方面的内容。此外,还特别强调了PCB设计注意事项和误差源分析,旨在帮助工程师更好地理解和应用这款高性能的RMS-DC转换器。 适合人群:从事模拟电路设计的专业工程师和技术人员,尤其是那些需要精确测量交流电信号均方根值的应用开发者。 使用场景及目标:①用于工业自动化、医疗设备、电力监控等领域,实现对交流电压或电流的精准测量;②适用于手持式数字万用表及其他便携式仪器仪表,提供高效的单电源解决方案;③在电流互感器配置中,用于检测微小的电流变化,保障电气安全;④应用于三相电力系统监控,优化建立时间和转换精度。 其他说明:为了确保最佳性能,文档推荐使用高质量的电容器件,并给出了详细的PCB布局指导。同时提醒用户关注电介质吸收和泄漏电流等因素对测量准确性的影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值