锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
#include <iostream>
#include <algorithm>
using namespace std;
int main ()
{
char first[11];
char last[8];
char str[201];
while ( scanf ("%s", &first) && strcmp( first, "EDNOFINPUT") && !strcmp (first, "START") )
{
getchar ();
int len = 0;
while ( (str[len] = getchar ()) != '\n')
len ++;
for ( int i = 0; i < len; i ++ )
{
if ( str[i] >= 'A' && str[i] <= 'E')
{
printf ("%c", str[i] + 21);
}
else if ( str[i] >= 'F' && str[i] <= 'Z')
{
printf ("%c", str[i] - 5);
}
else
printf ("%c", str[i]);
}
printf ("\n");
scanf ("%s", last);
}
//system ("pause");
return 0;
}
]]>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int main ()
{
int n;
char str[10000];
while ( scanf ("%d", &n) != EOF && n )
{
getchar ();
for ( int i = 0; i < n; i ++ )
{
scanf ("%s", &str);
int len = 0;
while ( str[len] != '\0') //閿欑偣
len ++;
int index = 0;
while ( index < len )
{
int count = 1;
if ( str[index] != str[index + 1] )
{
printf ("%c", str[index]);
index ++;
}
else
{
count ++;
while (str[index] == str[ index + count]) //閿欑偣錛氭槸 ==
count ++;
printf ("%d%c", count, str[index]);
index += count;
}
}
printf ("\n");
}
}
return 0;
}
]]>
2銆佸埄鐢ㄤ笂闈㈡墍璇寸殑嬈у嚑閲屽痙綆楁硶姹傚嚭鏂圭▼a' * x + b' * y = 1鐨勪竴緇勬暣鏁拌Вx0,y0錛屽垯n' * x0,n' * y0鏄柟紼?/strong>a' * x + b' * y = n'鐨勪竴緇勬暣鏁拌В錛?
3銆佹牴鎹暟璁轟腑鐨勭浉鍏沖畾鐞嗭紝鍙緱鏂圭▼a' * x + b' * y = n'鐨?/strong>鎵鏈夋暣鏁拌В涓猴細
x = n' * x0 + b' * t
y = n' * y0 - a' * t (t涓烘暣鏁?/strong>)
涓婇潰鐨勮В涔熷氨鏄?/strong>a * x + b * y = n 鐨勫叏閮ㄦ暣鏁拌В銆?nbsp;
x鐨勬渶灝忕殑鍙兘鍊兼槸0
§浠?/span>x=0錛屽彲姹傚嚭褰?/span>x鏈灝忔椂鐨?/span>t鐨勫彇鍊鹼紝浣嗙敱浜?/span>x=0鏄彲鑳界殑鏈灝忓彇鍊鹼紝瀹為檯涓婂彲鑳?/span>x鏍規湰鍙栦笉鍒?/span>0錛岄偅涔堢敱璁$畻鏈虹殑鍙栨暣闄?/span>娉曞彲鐭ワ細鐢?t=c*k1/b綆楀嚭鐨?/span>t錛屼唬鍥?/span>x=c*k1-b*t涓?§姹傚嚭鐨?/span>x鍙兘浼氬皬浜?/span>0錛屾鏃朵護t=t+1錛屾眰鍑虹殑x蹇呭ぇ浜?/span>0錛涘鏋滀唬鍥炲悗x浠嶆槸澶т簬絳変簬0鐨勶紝閭d箞涓嶉渶瑕佸啀鍋氫慨姝c?
//婊¤凍鍏崇郴錛?x + m * s) - (y + n *s) = k*l (k= 0 1 2
)鍗籌細(n - m)*s + l*k = x-y;
//鍒╃敤鎷撳睍鐨勬鍑犻噷寰楄В鍑哄彲鑳界殑s
#include <stdio.h>
#include <stdlib.h>
//姹傛渶澶у叕綰︽暟
__int64 gcd (__int64 a, __int64 b)
{
if (b == 0)
return a;
else
gcd (b, a % b);
}
//姹傚緱婊¤凍 a*x + b*y = d錛涚殑x y
__int64 ex_Gcd (__int64 a, __int64 b, __int64 &x1, __int64 &y1)
{
if ( b == 0 )
{
x1 = 1;
y1= 0;
return a;
}
int r = ex_Gcd( b, a%b, x1, y1);
int temp = x1;
x1 = y1;
y1 = temp - a/b * y1;
}
int main ()
{
__int64 x, y, m, n, l;
int a, b, product, d;//a b 鐨勬渶澶у叕綰︽暟 product
int s, k;
__int64 s1, k1, s2, k2;
while ( scanf ("%I64d%I64d%I64d%I64d%I64d", &x, &y, &m, &n, &l ) != EOF )
{
a = n - m;
b = l;
d = x-y;
product = gcd (a,b);
if ( d % product != 0 )
printf ("Impossible\n");
else
{
a = a / product;
b = b / product;
d = d / product;
ex_Gcd (a, b, s1, k1); //寰楀埌(n-m)/product * s + l/product * k = 1;鐨?nbsp;s k鐨勮В
s2 = d * s1; //寰楀埌(n-m)/product * s + l/product * k = d;鐨?nbsp;s k鐨勮В
k2 = d * k1;
int t;
//s = s2 - b * t; 鐢ㄤ笅闈㈢殑鏂規硶澶勭悊婊¤凍鏉′歡鐨勮В
//k = k2 - a * t;
t = s2 / b;
s = s2 - b * t;
if ( s <= 0)
{
s += b;
}
printf ("%d\n", s);
}
}
//system ("pause");
return 0 ;
}
]]>
#include <stdio.h>
2
#include <stdlib.h>
3
#include <string.h>
4
char code[1001][17];
5
int num[1001];
6
int main ()
7

{
8
int n;
9
while (scanf ("%d", &n) != EOF && n != 0)
10
{
11
getchar ();
12
memset (code, 0, sizeof (code));
13
memset (num, 0 , sizeof (num));
14
15
for (int i = 0; i < n; i ++) //杈撳叆澶勭悊
16
{
17
int j = 0;
18
while ( (code[i][j] = getchar ()) != '\n' ) i 浠h〃榪欐槸絎嚑涓覆
19
j ++;
20
}
21
22
23
for (int m = 0; m < n; m ++) //鍖歸厤
24
{
25
for (int k = m + 1; k < n; k ++)
26
{
27
if ( !strcmp (code[m], code[k]) ) //鐩哥瓑榪斿洖 0
28
num[m]++;
29
}
30
}
31
32
int max = -1; int index = 0;
33
for ( int k = 0; k < n; k ++) //鎵懼埌鍑虹幇嬈℃暟鏈澶氱殑涓嬫爣
34
{
35
if (max < num[k])
36
{
37
max = num[k];
38
index = k;
39
}
40
}
41
printf ("%s", code[index]);
42
}
43
//system ("pause");
44
return 0;
45
}
46
]]>
#include <stdio.h>
#include <string.h>
char str[100][101];
int t, n;
void strrev (char *revString)

{
int revLen = strlen (revString);
char temp[101];
int i;
for ( i = 0; i < revLen; i ++)
{
temp[i] = revString[revLen - i - 1];
}
temp [i] = '\0';
strcpy (revString, temp);
}
int searchSubString (char *source)

{
char minSubString[101];
char minrevSubString[101];
int minSubStringLen = strlen (source);
int sourceLen = strlen (source);
while (minSubStringLen)
{
for (int i = 0; i <= sourceLen - minSubStringLen; i ++)
{
bool tag = true;
strncpy (minSubString, source + i, minSubStringLen);
strncpy (minrevSubString, source + i, minSubStringLen);
minSubString[minSubStringLen] = minrevSubString[minSubStringLen] = '\0';
strrev (minrevSubString);
for (int i = 0; i < n; i ++)
{
if ( strstr (str[i], minSubString) == NULL && strstr (str[i], minrevSubString) == NULL )
{
tag = false;
break;
}
}
if (tag)
return minSubStringLen;
}
minSubStringLen --;
}
return 0;
}
int main ()

{
char minStr[101];
scanf ("%d", &t);
while ( t != 0 )
{
scanf ("%d", &n);
int minStrlen = 100;
for (int i = 0; i < n; i ++)
{
scanf ("%s", str[i]);
if ( ( strlen(str[i]) ) < minStrlen )
{
strcpy(minStr, str[i]);
minStrlen = strlen (str[i]);
}
}
int minSubLen = searchSubString (minStr);
printf ("%d\n", minSubLen);
t --;
}
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main ()

{
char start[11];
char end[4];
char cipher[201];
int len;
scanf ("%s", start);
while ( strcmp (start, "ENDOFINPUT") )
{
getchar ();
gets (cipher);
getchar ();
scanf ("%s", end);
//瀵瑰瘑鏂囪繘琛岃В瀵?nbsp;
len = strlen (cipher);
for (int i = 0; i < len; i ++)
{
if ( ('A' <= cipher[i]) && ( cipher[i] <= 'Z') )
{
if ( 70 <= cipher[i] && cipher[i] <= 90)
printf ("%c", cipher[i] - 5);
else
printf ("%c", cipher[i] + 21);
}
else
printf ("%c", cipher[i]);
}
printf ("\n");
scanf ("%s", start);
}
//printf ("ENDOFINPUT\n"); 鐢昏泧娣昏凍
//system ("pause");
return 0;
} 