The 15th Zhejiang Provincial Collegiate Programming Contest Sponsored by TuSimple - J CONTINUE...?
CONTINUE...?
Time Limit: 1 Second Memory Limit: 65536 KB Special Judge
DreamGrid has classmates numbered from to . Some of them are boys and the others are girls. Each classmate has some gems, and more specifically, the -th classmate has gems.
DreamGrid would like to divide the classmates into four groups , , and such that:
Each classmate belongs to exactly one group.
Both and consist only of girls. Both and consist only of boys.
The total number of gems in and is equal to the total number of gems in and .
Your task is to help DreamGrid group his classmates so that the above conditions are satisfied. Note that you are allowed to leave some groups empty.
Input
There are multiple test cases. The first line of input is an integer indicating the number of test cases. For each test case:
The first line contains an integer () -- the number of classmates.
The second line contains a string () consisting of 0 and 1. Let be the -th character in the string . If , the -th classmate is a boy; If , the -th classmate is a girl.
It is guaranteed that the sum of all does not exceed .
Output
For each test case, output a string consists only of {1, 2, 3, 4}. The -th character in the string denotes the group which the -th classmate belongs to. If there are multiple valid answers, you can print any of them; If there is no valid answer, output "-1" (without quotes) instead.
Sample Input
5
1
1
2
10
3
101
4
0000
7
1101001
Sample Output
-1
-1
314
1221
3413214 原题地址:http://acm.zju.edu.cn/onlinejudge/showContestProblem.do?problemId=5759
题意:
老师分宝石,一个由0和1组成的字符串数组,每个字符都是一个学生每个学生s[i]都有i个宝石,其中1是男生,0是女生
有G1G2G3G4四个分组其中G1G2只能女生,G2G3只能男生。要求G1G3一组,G2G4一组,让他们两组的宝石个数相同 思路:
一个数组能否被分成两堆第一步是取决于他们的和是否为偶数,如果是奇数是不可能分成两堆的。
题目有说可以让有的组数为0所以男生女生这个要求就只是一个干扰项;
具体:首先我们判断长度为偶数的情况
例如:
8
11111111
这个数据
首先他们的值是
1 2 3 4 5 6 7 8
我们让第一个”1“为第A组,第二个”2“为第B组 这样第A组的值减去第B组的值为(1-2)=-1;
然后我们让第三个”3“为第B组,第四个”4“为第A组,这样第A组减去第B组的值为(4-3)=1;
正好抵消为0就这样依次 A B B A A B B A就能保证他们的合为0; 然后我们看奇数长度的情况
例如:题目的最后一组数据
7
1101001
他们的值是
1 2 3 4 5 6 7
首先我们从第二个开始
第二个在A组,第三个在B组 这时候A-B=(2-3)=-1;
第四个在B组,第五个在A组 这时候A-B=(5-4)=1; 这时前面四个正好抵消
然后第六个在A组,第四个在B组,这时候A-B=(6-7)=-1;
这时候正好可以把前面被忽略的1加进来放在不够的A组上这时候正好抵消; 代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int one;
int two;
int three;
int four;
int mark[];
bool yes(ll n){
if(((n*(n+))/)%==)return false;
return true;
}
int main()
{
//std::ios::sync_with_stdio(false);
ll n;
int t;
cin>>t;
string s;
while(t--){
cin>>n;
cin>>s;
if(!yes(n)){//判断是否合为偶数
cout<<-<<endl;
continue;
}
if(n%==){///长度为偶数的情况
for(int i=;i<n;i++){
if(i%==||i%==){
if(s[i]=='')cout<<"";
else cout<<"";
}
else if(i%==||i%==){
if(s[i]=='')cout<<"";
else cout<<"";
}
}
}
else{///长度为奇数的情况
if(s[]=='')cout<<"";
else cout<<"";
for(int i=;i<n;i++){
if((i-)%==||(i-)%==){
if(s[i]=='')cout<<"";
else cout<<"";
}
else if((i-)%==||(i-)%==){
if(s[i]=='')cout<<"";
else cout<<"";
}
}
}
cout<<endl;
}
return ;
}
The 15th Zhejiang Provincial Collegiate Programming Contest Sponsored by TuSimple - J CONTINUE...?的更多相关文章
- The 15th Zhejiang Provincial Collegiate Programming Contest Sponsored by TuSimple - L Doki Doki Literature Club
Doki Doki Literature Club Time Limit: 1 Second Memory Limit: 65536 KB Doki Doki Literature Club ...
- 2018浙江省赛(ACM) The 15th Zhejiang Provincial Collegiate Programming Contest Sponsored by TuSimple
我是铁牌选手 这次比赛非常得爆炸,可以说体验极差,是这辈子自己最脑残的事情之一. 天时,地利,人和一样没有,而且自己早早地就想好了甩锅的套路. 按理说不开K就不会这么惨了啊,而且自己也是毒,不知道段错 ...
- The 15th Zhejiang Provincial Collegiate Programming Contest Sponsored by TuSimple - M Lucky 7
Lucky 7 Time Limit: 1 Second Memory Limit: 65536 KB BaoBao has just found a positive integer se ...
- The 15th Zhejiang Provincial Collegiate Programming Contest Sponsored by TuSimple - B King of Karaoke
King of Karaoke Time Limit: 1 Second Memory Limit: 65536 KB It's Karaoke time! DreamGrid is per ...
- The 15th Zhejiang Provincial Collegiate Programming Contest Sponsored by TuSimple -A Peak
Peak Time Limit: 1 Second Memory Limit: 65536 KB A sequence of integers is called a peak, if ...
- ZOJ 4033 CONTINUE...?(The 15th Zhejiang Provincial Collegiate Programming Contest Sponsored by TuSimple)
#include <iostream> #include <algorithm> using namespace std; ; int a[maxn]; int main(){ ...
- The 14th Zhejiang Provincial Collegiate Programming Contest Sponsored by TuSimple - F 贪心+二分
Heap Partition Time Limit: 2 Seconds Memory Limit: 65536 KB Special Judge A sequence S = { ...
- The 14th Zhejiang Provincial Collegiate Programming Contest Sponsored by TuSimple - C 暴力 STL
What Kind of Friends Are You? Time Limit: 1 Second Memory Limit: 65536 KB Japari Park is a larg ...
- ZOJ 3962 E.Seven Segment Display / The 14th Zhejiang Provincial Collegiate Programming Contest Sponsored by TuSimple E.数位dp
Seven Segment Display Time Limit: 1 Second Memory Limit: 65536 KB A seven segment display, or s ...
随机推荐
- [CF1076E]Vasya and a Tree
题目大意:给定一棵以$1$为根的树,$m$次操作,第$i$次为对以$v_i$为根的深度小于等于$d_i$的子树的所有节点权值加$x_i$.最后输出每个节点的值 题解:可以把操作离线,每次开始遍历到一个 ...
- [洛谷P2584][ZJOI2006]GameZ游戏排名系统
题目大意:同[洛谷P4291][HAOI2008]排名系统(双倍经验) 题解:略 卡点:无 C++ Code: #include <cstdio> #include <map> ...
- MySQL自增属性auto_increment_increment和auto_increment_offset
MySQL的系统变量或会话变量auto_increment_increment(自增步长)和auto_increment_offset(自增偏移量)控制着数据表的自增列ID. mysql> sh ...
- 【BZOJ 2879】[Noi2012]美食节 费用流
思路同修车,就是多了一个骚气的操作:动态加边,我们通过spfa流的过程可以知道,我们一次只会跑一流量,最后一层边跑过就不会再悔改,所以说我们只会用到一大片里面的很少的点,所以我们如果可以动态加边的话我 ...
- 【BZOJ 3195 】[Jxoi2012]奇怪的道路 装压dp
受惯性思维的影响自动把二进制状态认为是连与不连......... 我们这里二进制状态表示的是奇偶,这样的话我们f[i][j][k]表示的就是前i个城市用了j个边他前k个城市的奇偶状态,然后想想怎么转移 ...
- 【NOIP模拟赛】藏宝图 最小生成树
性质:我们把最小生成树建出来,如果其距离符合那么就是对的,不符合就是错的 因为这是个n^2的图所以不能Kruskal只能Prim #include <cstdio> #include &l ...
- Angular 监听路由变化
var app = angular.module('Mywind',['ui.router']) //Angular 监听路由变化 function run($ionicPlatform, $loca ...
- taotao用户登录springMVC拦截器的实现
在springMVC中写拦截器,只需要两步: 一.写 java 拦截器类,实现 interceptor 拦截器接口. 二.在 springMVC 的xml配置文件中,配置我们创建的拦截器对象及其拦截目 ...
- Codeforces Round #348 (VK Cup 2016 Round 2, Div. 2 Edition) A
A. Little Artem and Presents time limit per test 2 seconds memory limit per test 256 megabytes input ...
- POJ2912:Rochambeau(带权并查集)
Rochambeau Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 5208 Accepted: 1778 题目链接:h ...