码迷,mamicode.com
首页 > 其他好文 > 详细

poj Problem A. Score Sequence(暴力)

时间:2014-05-11 05:13:47      阅读:384      评论:0      收藏:0      [点我收藏+]

标签:style   blog   class   code   java   tar   

这道题,对于我这种英文不好的人来说,有点费劲啊。

题目的意思:给你两组成绩,你要找出他们之间最大的公共子序列,不能有重复,然后输出两组数据。

第一组就是:按照从大到小输出最大子序列。

第二组就是:按照个位数由小到大输出,若个位数一样大,则小的在前输出最大子序列。

解题思路基本上已经出来了,就是千万要注意就是在最长子序列匹配之前就就把重复的数字给删除。

 

bubuko.com,布布扣
  1 #include <stdio.h>
  2 #include <stdlib.h>
  3 #include <string.h>
  4 
  5 struct node
  6 {
  7     int data;
  8     int ge;
  9 };
 10 
 11 int cmp1(const void *a , const void *b)
 12 {
 13     return *(int *)a - *(int *)b;
 14 }
 15 int cmp2(const void *a , const void *b)
 16 {
 17     return *(int *)b - *(int *)a;
 18 }
 19 int cmp3( const void *a , const void *b )
 20 {
 21     struct node *c = (struct node *)a;
 22     struct node *d = (struct node *)b;
 23     if(c->ge != d->ge) return c->ge - d->ge;
 24     else return c->data - d->data;
 25 }
 26 
 27 int main()
 28 {
 29     int t, n, m;
 30 
 31 
 32     scanf("%d", &t);
 33 
 34     while(t--)
 35     {
 36 
 37         int a[35], b[35],c[35];
 38         int x[35],y[35];
 39         struct node d[35];
 40         scanf("%d%d", &n, &m);
 41         //printf("xmx\n");
 42         for(int i = 0; i < n; i++)
 43             scanf("%d", &a[i]);
 44         //printf("xmx\n");
 45         for(int i = 0; i < m; i++)
 46             scanf("%d", &b[i]);
 47 
 48         qsort(a, n, sizeof(a[0]), cmp1);
 49         qsort(b, m, sizeof(b[0]), cmp1);
 50 
 51         int  v = a[0];
 52         x[0]=a[0];
 53         int k1 = 0;
 54 
 55         for(int i = 1; i < n; i++)
 56         {
 57             if(v!=a[i])
 58             {
 59                 v = a[i];
 60                 k1++;
 61                 x[k1] = a[i];
 62             }
 63         }
 64 
 65         v = b[0];
 66         y[0]=b[0];
 67         int k2 = 0;
 68 
 69         for(int i = 1; i < m; i++)
 70         {
 71             if(v!=b[i])
 72             {
 73                 v = b[i];
 74                 k2++;
 75                 y[k2] = b[i];
 76             }
 77         }
 78 
 79 
 80         int maxn = 0, flag = 0;
 81         int i1, j1, start;
 82 
 83         for(int i = 0; i <= k1; i++)
 84         {
 85             for(int j = 0; j <= k2; j++)
 86             {
 87                 i1 = i;
 88                 j1 = j;
 89                 flag = 0;
 90                 //printf("xmx\n");
 91                 for(int k = 0; k <= k1&&i1<=k1&&j1<=k2; k++)
 92                 {
 93                     if(x[i1] == y[j1])
 94                     {
 95                         flag++;
 96                         i1++;
 97                         j1++;
 98                     }
 99                     else
100                     {
101                         break;
102                     }
103                 }
104                 if(maxn <= flag)
105                 {
106                     maxn = flag;
107                     start = i;
108                 }
109             }
110         }
111         if(maxn > 0)
112         {
113             v = x[start];
114             c[0]=x[start];
115             int k = 0;
116 
117             for(int i = 1; i < maxn; i++)
118             {
119                 if(v!=x[start+i])
120                 {
121                     v = x[start + i];
122                     k++;
123                     c[k] = x[start + i];
124                 }
125             }
126             qsort(c,k+1,sizeof(c[0]),cmp2);
127             for(int i=0; i<=k; i++)
128             {
129                 printf("%d ",c[i]);
130                 d[i].data=c[i];
131                 d[i].ge=c[i]%10;
132             }
133             printf("\n");
134             qsort(d,k+1,sizeof(d[0]),cmp3);
135             for(int i=0; i<=k; i++)
136                 printf("%d ",d[i].data);
137             printf("\n");
138 
139         }
140         else
141         {
142             printf("NONE\n");
143         }
144     }
145 
146     return 0;
147 }
bubuko.com,布布扣

 

poj Problem A. Score Sequence(暴力),布布扣,bubuko.com

poj Problem A. Score Sequence(暴力)

标签:style   blog   class   code   java   tar   

原文地址:http://www.cnblogs.com/fengxmx/p/3721000.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!