1、为了得到一个数的”相反数“我们将这个数的数字顺序颠倒然后再加上原先的数得到”相反数“。例如,为了得到1324的”相反数“,首先我们将该数的数字顺序颠倒。我们得到5231,之后再加上原先的数,我们得到5231+1325=6556,如果颠倒之后的数字有前缀、前缀零将会被忽略。例如n=100。颠倒之后是1。
输入描述:
输入包括一个整数n,(1<=n<=10^5)
输出描述:
输出一个整数,表示n的相反数
实例1:
输入:
1325
输出:
6556
2、小易有一个长度为N的正整数数列A={A[1],A[2],A[3]...,A[N]}。
牛博士给小易出了一个难题:
对数列A进行重新排列,使数列A满足所有的A[i]*A[i+1](1<=i<=N-1)都是4的倍数。
小易现在需要判断一个数列是否可以重排之后满足牛博士的要求。
输入描述:
输入的第一行数列的个数t(1<=t<=10),
接下来每两行描述一个数列A,。第一行为数列长度n(1<=n<=10^5)
第二行为n个正整数A[i] (1<=A[i]<=10^9)
输出描述:
对于每个数列输出一行表示是否可以满足牛博士要求,如何可以输出YES,否则输出NO。
示例1
输入:
2
3
1 10 100
4
1 2 3 4
输出:Yes
No
1.空串""是合法的括号序列
2.如果”X“和”Y“是合法的序列,那么"XY"也是一个合法的括号序列
3.如果“X”是一个合法的序列,那么"(X)"也是一个合法的括号序列
4.每个合法的括号序列都可以由上面的规则生成
例如"","()","()()()","(()())","((()))"都是合法的。
从一个字符串S中移除零个或者多个字符得到的序列成为S的子序列。
例如"abcde"的子序列有"abe","abcde"等。
定义LCS(S,T)为字符串S和字符串T最长公共子序列的长度,即一个最长的序列W即是S的子序列也是T的子序列的长度。
小易给出一个合法的括号匹配序列S,小易希望你能找出具有以下特征的括号序列t:
1.t跟s不同,但是长度相同。
2.t也是一个合法的括号匹配序列。
3.LCS(s,t)是满足上述两个条件的t中最大的。
因为这样的t可能存在多个,小易需要你计算初满足条件的t有多少个。
如样例所示: s="(())()",跟字符串s长度相同的合法括号匹配序列有:
“()(())”,"((()))","()()()","(()())",其中LCS("(())()","()(())")为4,其他三个都为5,所以输出3。
输入描述:
输入包括字符串s(4<=|s|<=50,|s|表示字符串长度),保证s是一个合法的括号匹配序列。
输出描述:
输出一个正整数,满足条件的t的个数。
示例1:
输入:
(())()
输出:
3