你们是不是不知道 bool 类型可以参与运算
查看原帖
你们是不是不知道 bool 类型可以参与运算
426321
fgqge6楼主2023/8/6 19:35

看到大部分题解都有类似这样的写法:

if(st[i]=='W')
	if(!a[0])a[0]=1,ans++;
if(st[i]=='B'){
	if(a[0])a[0]=0,ans++;
	if(!a[1])a[1]=1,ans++;
}
if(st[i]=='R'){
	if(!a[2])a[2]=1,ans++;
	if(a[1])a[1]=0,ans++;
	if(a[0])a[0]=0,ans++;
}

但是其实可以这样写,会短很多:

if(st[i]=='W')ans+=!a[0],a[0]=1;
if(st[i]=='B')ans+=a[0]+!a[1],a[0]=0,a[1]=1;
if(st[i]=='B')ans+=a[0]+a[1]+!a[2],a[0]=0,a[1]=0,a[2]=1;
2023/8/6 19:35
加载中...