POJ 4044 Score Sequence
题意 :给你两个序列,进行降序排序,找出连续的公共子序列,将这个子序列输出,然后对个位数升序排序,如果个位数相同就按数的大小排,再输出这个新排好的。
思路 :先排序,再找公共子序列,最后个位排序输出。
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <algorithm> using namespace std; int a1[],a2[] ;
int b1[],b2[] ; bool cmp(int a,int b)
{
if(a% == b%)
return a < b ;
return a % < b % ;
}
int main()
{
int T ;
while(~scanf("%d",&T))
{
while(T--)
{
memset(a1,,sizeof(a1)) ;
memset(a2,,sizeof(a2)) ;
int n1,n2 ;
scanf("%d %d",&n1,&n2) ;
for(int i = ; i < n1 ; i++)
scanf("%d",&a1[i]) ;
for(int i = ; i < n2 ; i++)
scanf("%d",&a2[i]) ;
sort(a1,a1+n1) ;
sort(a2,a2+n2) ;
reverse(a1,a1+n1) ;
reverse(a2,a2+n2) ;
int len1 = ;
b1[] = a1[] ;
for(int i = ; i < n1 ; i++)
{
if(a1[i] != a1[i-])
b1[len1++] = a1[i] ;
}
int len2 = ;
b2[] = a2[] ;
for(int i = ; i < n2 ; i++)
{
if(a2[i] != a2[i-])
b2[len2++] = a2[i] ;
}
int len = -,pos = ;
for(int i = ; i < len1 ; i++)
{
for(int j = ; j < len2 ; j++)
{
if(b1[i] == b2[j])
{
int lenx = ;
for(int k = ; i+k < len1&&j+k < len2 ; k++)
{
if(b1[i+k] == b2[j+k])
lenx ++ ;
else break ;
}
if(len < lenx)
{
len = lenx ;
pos = i ;
}
break ;
}
}
}
if(len == -)
{
printf("NONE\n") ;
continue ;
}
for(int i = pos ; i < pos+len ; i++)
{
printf("%d ",b1[i]) ;
}
printf("\n") ;
sort(b1+pos,b1+pos+len,cmp) ;
for(int i = pos ; i < pos+len ; i++)
printf("%d ",b1[i]) ;
printf("\n") ;
}
}
return ;
}
POJ 4044 Score Sequence的更多相关文章
- poj 4044 Score Sequence(暴力)
http://poj.org/problem?id=4044 大致题意:给出两个班级的成绩,先按降序排序,而且没有成绩同样的.然后求连续的最长公共子序列.输出时,先输出最长公共子序列,然后按个位数字递 ...
- poj 1699 Best Sequence(AC自己主动机+如压力DP)
id=1699" target="_blank" style="">题目链接:poj 1699 Best Sequence 题目大意:给定N个D ...
- [poj P1141] Brackets Sequence
[poj P1141] Brackets Sequence Time Limit: 1000MS Memory Limit: 65536K Special Judge Description ...
- Poj 1019 Number Sequence( 数据分析和操作)
一.题目大意 有这样一个序列包含S1,S2,S3...SK,每一个Si包括整数1到 i.求在这个序列中给定的整数n为下标的数. 例如,前80位为1121231234123451234561234567 ...
- POJ 2478 Farey Sequence
名字是法雷数列其实是欧拉phi函数 Farey Sequence Time Limit: 1000MS Memory Limit: 65536K Total Submi ...
- POJ 2478 Farey Sequence(欧拉函数前n项和)
A - Farey Sequence Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u ...
- POJ 2778 DNA Sequence(AC自动机+矩阵加速)
DNA Sequence Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9899 Accepted: 3717 Desc ...
- POJ 2593 Max Sequence
Max Sequence Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 17678 Accepted: 7401 Des ...
- POJ 3691 DNA Sequence (AC自动机 + 矩阵 有bug,待修改)
DNA Sequence Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9889 Accepted: 3712 Desc ...
随机推荐
- 获取iOS设备信息的编程接口
参考资料: [1] 博客园,iOS屏幕尺寸和分辨率了解 [2] 张兴业,获取手机信息(UIDevice.NSBundle.NSLocale), CSDN
- jeecms获取栏目标题图
[@cms_channel id='1'] <img src="${tag_bean.titleImg!site.typeImg}" /> [/@cms_channel ...
- Oracle 表的连接方式(2)-----HASH JOIN的基本机制1
我们对hash join的常见误解,一般包括两个: 第一个误解:是我们经常以为hash join需要对两个做join的表都做全表扫描 第二个误解:是经常以为hash join会选择比较小的表做buil ...
- C语言文件函数
FILE *fp: 其中的FILE应该大写,它实际上是系统定义的一个结构,在stdio.h文件中.该结构中有文件名,文件状态,文件当前的读写信息等. fp是指向FILE结构的指针变量,通过fp可以找到 ...
- Windows7 sp1 64位下安装配置eclipse+jdk+CDT+minGW
需要的工具: jdk-7u11-windows-x64.exe eclipse-SDK-4.2.2-win32-x86_64.zip cdt-master-8.1.2.zip mingw-get-i ...
- Java从入门到精通——数据库篇之JAVA中的对Oracle数据库操作
在Java中对Oracle数据库的操作分为两种:一.查询.二.非查询. 下面是我对其进行总结: 一.查询数据 /** * 根据用户代码查询 * @param userId * @return 如果存在 ...
- MySQL主从修复
MySQL主从故障修复 测试库:192.168.1.2 主192.168.1.3 从 192.168.1.4 主 4又是2的从库192.168.1.5 从 有人修改了192.168.1.2和192.1 ...
- Spark Standalone运行过程
以下内容参考http://www.cnblogs.com/luogankun/p/3912956.html 一.集群启动过程--启动Master 二.集群启动过程--启动WorkerWorker运行时 ...
- PHP中::、->、self、$this操作符的区别
在访问PHP类中的成员变量或方法时,如果被引用的变量或者方法被声明成const(定义常量)或者static(声明静态),那么就必须使用操作符::,反之如果被引用的变量或者方法没有被声明成const或者 ...
- 51nod 计算N!的位数
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1130 对于这类问题:斯特林近似公式: 百度百科的证明:http: ...