1328C - Ternary XOR

链接:

https://codeforces.com/problemset/problem/1328/C

题意:

三元数,是由0,1,2组成

定义a⊙b 为第i位数字(ai+bi)%3=xi

给定x,要求让max(a,b)最小

解:

因为要求让ab最小所以ai,bi和为xi可以忽略取余

在没找到1之前,0,2平均分

找到以后,1给a,后面的所有都给b;

实际代码:

#include<iostream>
#include<cstring>
#define csh(a) memset(a,0,sizeof(a))
using namespace std;
const int N=5E4+5;
int sz[N];
int main()
{
	int k;
	cin>>k;
	for(int f=1;f<=k;f++)
	{
		csh(sz);
		int n;
		cin>>n;
		string a,b;
		bool sc=1;
		for(int i=1;i<=n;i++)
		{
			char s;
			cin>>s;
			int mao=s-'0';
			sz[i]=mao;
			if(mao==1&&sc)
			{
				a+='1';
				b+='0';
				sc=0;
			}
			else if(sc==0)
			{
				b+='0'+mao;
				a+='0';
			}
			else if(mao==0)
			{
				b+='0';
				a+='0';
			}
			else if(mao==2)
			{
				b+='1';
				a+='1';
			}
		}
		cout<<a<<endl<<b<<endl;
	}
}

限制:

time limit per test

1 second

memory limit per test

256 megabytes

input

standard input

output

standard output

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这个警告是由ESLint的规则`no-unneeded-ternary`引起的,它表示在默认赋值时使用条件表达式是不必要的。 在上面的代码示例中,可以看到在`filterItems`方法中使用了条件表达式来处理空字符串的情况。然而,根据该警告,使用条件表达式是不必要的,因为我们可以直接使用简单的赋值操作来实现相同的效果。 要解决这个警告,你可以将条件表达式改为简单的赋值操作。 下面是修改后的代码示例: ```vue <template> <div> <q-select v-model="selectedItem" :options="filteredItems" option-label="label" option-value="value" :filter="filterItems" input-debounce="300" placeholder="Search" /> </div> </template> <script> export default { data() { return { selectedItem: '', items: [ { label: 'Option 1', value: 'option1' }, { label: 'Option 2', value: 'option2' }, { label: 'Option 3', value: 'option3' }, // 其他选项... ], filteredItems: [] }; }, methods: { filterItems(val, update) { if (val === '') { update(() => { this.filteredItems = []; }); } else { const lowercaseVal = val.toLowerCase(); this.filteredItems = this.items.filter(item => item.label.toLowerCase().includes(lowercaseVal) ); } } } }; </script> ``` 在修改后的代码中,我们移除了条件表达式,并直接在`if`语句的分支中进行赋值操作。这样可以避免不必要的条件表达式。 通过这种方式,我们可以消除ESLint警告,并且代码逻辑仍然保持一致。 希望这个解决方案对你有所帮助!如果还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值