题目大意:

给定一个字符串数字(很大)

问能不能删除一些数字(或者不删除)

使得剩余的数字各位数相加是偶数,但是这整个数字是个奇数

解题思路:

统计字符串中单个数字奇数的个数

分情况

个数为0或者1时,显然不存在这样的数字,输出-1

个数大于等于2且为偶数时,只需要保证最后一位是奇数,从后往前删除字符直到遇到奇数位

个数大于2且为奇数时,保证最后一位为奇数,并且还要删除一位奇数

#include<bits/stdc++.h>
using namespace std;
void solve(){
int n,i,n1=;
string s;
cin>>n>>s;
for(i=;i<n;i++)
if((s[i]-'')%)
n1++;
if(n1&&n1%==){
while(n&&(s[n-]-'')%==){
s.erase(n-,);
n--;
}
}
else if(n1>){
while(n&&(s[n-]-'')%==){
s.erase(n-,);
n--;
}
s.erase(n-,);//遇到奇数,删除后继续删偶数
n--;
while(n&&(s[n-]-'')%==){
s.erase(n-,);
n--;
}
}
else
s="-1";
cout<<s<<'\n';
}
int main(){
ios::sync_with_stdio();
cin.tie();cout.tie();
int T;cin>>T;while(T--)
solve(); return ;
}

最新文章

  1. 3.C#面向对象基础聊天机器人
  2. 两个七牛app上传小脚本
  3. Parameter index out of range (2 &gt; number of parameters, which is 1)
  4. Linux学习笔记(8)Linux常用命令之网络命令
  5. UITableViewCell的重用机制原理
  6. AMQ学习笔记 - 20. 使用Apache ActiveMQBrowser监控ActiveMQ
  7. linux 手动安装 oracle(转)
  8. 测试数据库sql声明效率
  9. iOS深入学习之Weak关键字介绍
  10. testlink(以及服务器)问题定位思路
  11. RewriteMap(apache)
  12. ajax的缺点
  13. Caffe + Ubuntu 15.04 + CUDA 7.0 安装以及配置
  14. java-随机生成用户名(中文版及英文版)
  15. linux nohup命令实现退出终端后程序继续后台运行
  16. Entity Framework入门教程(13)---EF中的高并发
  17. windows sqlplus客户端连接oralce数据库中文显示问题
  18. 21 Zabbix系统性能优化建议
  19. SQL SERVER CXPACKET-Parallelism Wait Type 的惯用解决方案
  20. 【图片识别】java 图片文字识别 ocr (转)

热门文章

  1. Ubuntu系统部署tomcat并启用JMX实战案例
  2. REVISITING FINE-TUNING FOR FEW-SHOT LEARNING
  3. maze-----攻防世界
  4. uboot配置和编译过程详解
  5. 图片与byte相互转换
  6. 吴裕雄--天生自然java开发常用类库学习笔记:Iterator接口
  7. python中excel表格的读写
  8. Golang的变量定义及使用案例
  9. POJ 1151:Atlantis 线段树+扫描线
  10. idea创建同名的maven工程时报错:Failed to create a Maven project &#39;xxx/pom.xml&#39; already exists in VFS