#include <stdio.h>#include <string.h>#define N 100
int main(void)
{
int n1, n2, i, j, k; char s1[N+1], s2[N+1], s[2*N+1]; while (scanf("%s%s", s1, s2) != EOF) { n1 = strlen(s1); n2 = strlen(s2); k = 0; for(i=0, j=n2-1; i<n1 || j>=0; ) { if (i<n1) s[k++] = s1[i++]; if (j>=0) s[k++] = s2[j--]; } s[k] = '\0'; printf("%s\n", s); } return 0;
}
/**************************************************************
Problem: 1471 User: liangrx06 Language: C Result: Accepted Time:0 ms Memory:912 kb****************************************************************/
1472
#include <stdio.h>#include <string.h>#define M 1000int main()
{
int i, j, m;
int a[2*M+1], c, d;
while (scanf("%d", &m) != EOF)
{
memset(a, 0, sizeof(a));
for (i=0; i<m; i++)
{
scanf("%d%d", &c, &d);
a[d+M] += c;
}
scanf("%d", &m);
for (i=0; i<m; i++)
{
scanf("%d%d", &c, &d);
a[d+M] += c;
}
for (i=2*M; i>=0; i--)
{
if (a[i] != 0)
break;
}
printf("%d%d", a[i], i-M);
for (j=i-1; j>=0; j--)
{
if (a[j] != 0)
printf(" %d%d", a[j], j-M);
}
printf("\n");
}
return0;
}
/**************************************************************
Problem: 1472
User: liangrx06
Language: C
Result: Accepted
Time:10 ms
Memory:912 kb
****************************************************************/
1473
#include <stdio.h>#define N 20
int main(void)
{
int n, i, j, k, a; char s[40]; while (scanf("%d", &n) != EOF) { for(i=0; i<n; i++) { scanf("%d", &a); if (a == 0) { printf("0\n"); continue; } k = 0; while (a != 0) { s[k++] = a%2 + '0'; a /= 2; } for (j=k-1; j>=0; j--) printf("%c", s[j]); printf("\n"); } } return 0;
}
/**************************************************************
Problem: 1473 User: liangrx06 Language: C Result: Accepted Time:0 ms Memory:912 kb****************************************************************/
1474
#include <stdio.h>
#define N 10int main(void)
{
int t, n, k, i, j, m, r, s;
int a[N][N], b[N][N], c[N][N];
while (scanf("%d", &t) != EOF)
{
for(m=0; m<t; m++)
{
scanf("%d%d", &n, &k);
for (i=0; i<n; i++)
{
for (j=0; j<n; j++)
{
scanf("%d", &a[i][j]);
b[i][j] = a[i][j];
c[i][j] = 0;
}
}
for (s=1; s<k; s++)
{
for (r=0; r<n; r++)
{
for (i=0; i<n; i++)
{
for (j=0; j<n; j++)
{
c[i][j] += b[i][r] * a[r][j];
}
}
}
for (i=0; i<n; i++)
{
for (j=0; j<n; j++)
{
b[i][j] = c[i][j];
c[i][j] = 0;
}
}
}
for (i=0; i<n; i++)
{
for (j=0; j<n-1; j++)
{
printf("%d ", b[i][j]);
}
printf("%d\n", b[i][j]);
}
}
break;
}
return0;
}
/**************************************************************
Problem: 1474
User: liangrx06
Language: C
Result: Accepted
Time:0 ms
Memory:912 kb
****************************************************************/
1475
#include <stdio.h>#define N 1024int main(void)
{
int i;
int p[N];
char s[N];
int offset;
int count, total;
scanf("%d", &total);
gets(s);
for (count=1; count<=total; count++)
{
gets(s);
sscanf(s, "%p", &p[0]);
offset = p[0]%16*4;
for(i=1; i<offset+4; i++)
sscanf(s+i*3, "%p", &p[i]);
printf("Case #%d\n", count);
printf("Total length = %d bytes\n", p[2]*256 + p[3]);
printf("Source = %d.%d.%d.%d\n", p[12], p[13], p[14], p[15]);
printf("Destination = %d.%d.%d.%d\n", p[16], p[17], p[18], p[19]);
printf("Source Port = %d\n", p[offset]*256 + p[offset+1]);
printf("Destination Port = %d\n", p[offset+2]*256 + p[offset+3]);
printf("\n");
}
return0;
}
/**************************************************************
Problem: 1475
User: liangrx06
Language: C
Result: Accepted
Time:0 ms
Memory:916 kb
****************************************************************/
1476
#include <stdio.h>#include <math.h>
int main(void)
{
int n, i; while (scanf("%d", &n) != EOF) { if (n == 0) break; int find = 0; for(i=2; i<=sqrt(n); i++) { if (n%(i*i) == 0) { find = 1; break; } } if (find == 0) printf("No\n"); else printf("Yes\n"); } return 0;
}
/**************************************************************
Problem: 1476 User: liangrx06 Language: C Result: Accepted Time:0 ms Memory:928 kb****************************************************************/
1477
#include <stdio.h>
#define N 1000int n;
int a[N];
void init()
{
int i;
for (i=0; i<=n; i++)
a[i] = i;
}
void shift(int m)
{
int i;
int b[N];
for (i=1; i<=m; i++)
b[i] = a[i];
for (i=1; i<=n-m; i++)
a[i] = a[i+m];
for (i=1; i<=m; i++)
a[i+n-m] = b[i];
}
void flip()
{
int m = n/2;
int i;
for (i=1; i<=m/2; i++)
{
int tmp = a[i];
a[i] = a[m-i+1];
a[m-i+1] = tmp;
}
}
int main(void)
{
int k, i, j, op;
while (scanf("%d%d", &n, &k) != EOF && n)
{
init();
for(i=0; i<k; i++)
{
scanf("%d", &op);
shift(op);
flip();
}
for (j=1; j<=n; j++)
printf("%d ", a[j]);
printf("\n");
}
return0;
}
/**************************************************************
Problem: 1477
User: liangrx06
Language: C
Result: Accepted
Time:10 ms
Memory:916 kb
****************************************************************/
1478
#include <stdio.h>
int max(int a, int b, int c)
{
int res; res = (a>b) ? a : b; res = (res>c) ? res : c; return res;
}
int main(void)
{
int a, b, c; while (scanf("%d%d%d", &a, &b, &c) != EOF) { if (a == 0) break; printf("%d\n", a+b+c-2*max(a, b, c)); } return 0;
}
/**************************************************************
Problem: 1478 User: liangrx06 Language: C Result: Accepted Time:0 ms Memory:912 kb****************************************************************/
1479
#include <stdio.h>
#define N 1000int n;
int a[N];
void init()
{
int i;
for (i=0; i<=n; i++)
a[i] = i;
}
void shift(int m)
{
int i;
int b[N];
for (i=1; i<=m; i++)
b[i] = a[i];
for (i=1; i<=n-m; i++)
a[i] = a[i+m];
for (i=1; i<=m; i++)
a[i+n-m] = b[i];
}
void flip()
{
int m = n/2;
int i;
for (i=1; i<=m/2; i++)
{
int tmp = a[i];
a[i] = a[m-i+1];
a[m-i+1] = tmp;
}
}
int main(void)
{
int k, i, j, op;
while (scanf("%d%d", &n, &k) != EOF && n)
{
init();
for(i=0; i<k; i++)
{
scanf("%d", &op);
shift(op);
flip();
}
for (j=1; j<=n; j++)
printf("%d ", a[j]);
printf("\n");
}
return0;
}
/**************************************************************
Problem: 1479
User: liangrx06
Language: C
Result: Accepted
Time:10 ms
Memory:916 kb
****************************************************************/
1480
#include <stdio.h>#define N 1000
int main(void)
{
int n, i, j;
int a[N], sum[N];
while (scanf("%d", &n) != EOF)
{
for (i=0; i<n;i++)
scanf("%d", &a[i]);
for (i=0;i<n; i++)
{
sum[i] = a[i];
for (j=0;j<i; j++)
{
if (a[j] < a[i] && sum[j] + a[i] > sum[i])
sum[i] = sum[j] + a[i];
}
}
int max = sum[0];
for (i=1; i<n;i++)
max = sum[i]>max ? sum[i] : max;
printf("%d\n", max);
}
return 0;
}
/**************************************************************
Problem: 1480
User: liangrx06
Language: C
Result: Accepted
Time:30 ms
Memory:912 kb
****************************************************************/