Codeforces Round #616 (Div. 2)A. Even But Not Even

A. Even But Not Even

题目链接-Even But Not Even
在这里插入图片描述在这里插入图片描述
题目大意
给你一个长整数,可以删减里面的任意数字(也可以不删减),要求本身不能除以2,但是该数的各位和能除以2,输出任意符合要求的数

解题思路
贪心,输出一个两位数,每位数字都是奇数即可,即在原来长整数找到两个奇数(ps:不能改变原来数字顺序),否则输出-1

附上代码

#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int INF=0x3f3f3f;
typedef pair<int,int> PII;
string s;
int a[5];
int main(){
	ios::sync_with_stdio(0);
	cin.tie(0);cout.tie(0);
	
	int t;
	cin>>t;
	while(t--){
		int n;
		cin>>n;
		cin>>s;
		int k=0;
		for(int i=0;i<n;i++){
			if(k==2)
				break;
			if((s[i]-'0')%2==1){
				a[k]=(s[i]-'0');
				k++;
			}
		}		
		if(k==2)
			cout<<a[0]<<a[1]<<endl;
		else
			cout<<"-1"<<endl;
	}	
			
	return 0;
}

发布了23 篇原创文章 · 获赞 5 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Fiveneves/article/details/104156466
今日推荐