p1966_枚举.cpp
来自「高手写的所有acm例程 在acm.zju.edu.cn 上的题目的例程」· C++ 代码 · 共 45 行
CPP
45 行
#include <stdio.h>
#include <string.h>
int Len , Many [256] [256] , Max;
char Data [64 * 80 + 3];
bool init ()
{
int N;
scanf ( "%d\n" , &N ); if ( N == 0 ) return false;
for ( Len = 0; N; N -- ) {
gets ( &Data [Len] );
Len += strlen ( &Data [Len] );
}
memset ( Many , 0 , sizeof ( Many ));
Max = 0;
for ( int i = 0; i + 1 < Len; i ++ ) {
Many [Data [i]] [Data [i + 1]] ++;
if ( Many [Data [i]] [Data [i + 1]] > Max )
Max = Many [Data [i]] [Data [i + 1]];
}
return true;
}
void PrintAns ()
{
int i , j , k , step = 0;
for ( i = Max; i; i -- ) {
for ( j = 0; j < 256; j ++ )
for ( k = 0; k < 256; k ++ ) if ( Many [j] [k] == i ) {
printf ( "%c%c %d %.6lf\n" , j , k , i , (double) i / ( Len - 1 ) );
if ( ++ step == 5 ) return;
}
}
}
main ()
{
while ( init () ) {
PrintAns ();
printf ( "\n" );
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?