博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj3668
阅读量:5837 次
发布时间:2019-06-18

本文共 1769 字,大约阅读时间需要 5 分钟。

noi水题,直接推出来每一位上取什么值才能取1

直接搞就可以了

1 var a,b:array[0..40] of longint; 2     x,n,i,j,k,t,m,ans:longint; 3     fl:boolean; 4     s:string; 5     ch:char; 6  7 procedure doit(x:longint); 8   begin 9     fillchar(b,sizeof(b),0);10     m:=0;11     while x<>0 do12     begin13       inc(m);14       b[m]:=x mod 2;15       x:=x shr 1;16     end;17   end;18 19 begin20   readln(n,k);21   t:=31;22   for i:=1 to 31 do23     a[i]:=1;24   for i:=1 to n do25   begin26     s:='';27     read(ch);28     while ch<>' ' do29     begin30       s:=s+ch;31       read(ch);32     end;33     readln(x);34     doit(x);35     if s='OR' then  //2表示这一位取什么值都能使ans这位上取1,-1表示去什么都不可以,1表示取1才可以,0表示取0才可以36     begin37       for j:=1 to 31 do38         if b[j]=1 then a[j]:=2;  39     end40     else if s='AND' then41     begin42       for j:=1 to 31 do43         if b[j]=0 then a[j]:=-1;44     end45     else begin46       for j:=1 to 31 do47         if b[j]=1 then48         begin49           if a[j]=-1 then a[j]:=250           else if a[j]=2 then a[j]:=-151           else if a[j]=1 then a[j]:=052           else if a[j]=0 then a[j]:=1;53         end;54     end;55   end;56   doit(k);57   ans:=0;58   fl:=false;  //fl判断高位是否已经严格小于了59   for i:=31 downto 1 do60     if fl then61     begin62       if a[i]<>-1 then63         ans:=ans+1 shl (i-1);64     end65     else begin66       if (b[i]=0) and ((a[i]=2) or (a[i]=0)) then ans:=ans+1 shl (i-1);67       if (b[i]=1) then68       begin69         if (a[i]=2) or (a[i]=0) then70         begin71           fl:=true;72           ans:=ans+1 shl (i-1);73         end74         else if a[i]=-1 then fl:=true75         else ans:=ans+1 shl (i-1);76       end;77     end;78 79   writeln(ans);80 end.81 82
View Code

 

转载于:https://www.cnblogs.com/phile/p/4473084.html

你可能感兴趣的文章
【BATJ面试必会】JAVA面试到底需要掌握什么?【上】
查看>>
CollabNet_Subversion小结
查看>>
mysql定时备份自动上传
查看>>
17岁时少年决定把海洋洗干净,现在21岁的他做到了
查看>>
《写给大忙人看的java se 8》笔记
查看>>
倒计时:计算时间差
查看>>
Linux/windows P2V VMWare ESXi
查看>>
Windows XP倒计时到底意味着什么?
查看>>
运维工程师在干什么学些什么?【致菜鸟】
查看>>
Linux中iptables详解
查看>>
java中回调函数以及关于包装类的Demo
查看>>
maven异常:missing artifact jdk.tools:jar:1.6
查看>>
终端安全求生指南(五)-——日志管理
查看>>
Nginx 使用 openssl 的自签名证书
查看>>
创业维艰、守成不易
查看>>
PHP环境安装套件:快速安装LAMP环境
查看>>
CSS3
查看>>
ul下的li浮动,如何是ul有li的高度
查看>>
C++ primer plus
查看>>
python mysqlDB
查看>>