XDOJ総合問題数値統計ソート
XDOJ-数値統計ソート
カテゴリ:総合時間制限:1 Sメモリ制限:256 Kb問題説明:n個の整数を与えて、各整数が出現した回数を統計して、出現回数が多い順に出力して、回数が同じ時に先に値の小さい数を出力してください.入力説明:入力された最初の行には、指定された数値の個数を表す整数nが含まれます.1 ≤ n ≤ 1000. 2行目はn個の整数を含み、隣接する整数の間に1つのスペースで区切られ、与えられた整数を表す.与えられた数はいずれも1000を超えない非負の整数である.≪出力の説明|Output Description|emdw≫:各行に2つの整数が含まれ、それぞれ1つの与えられた整数とその出現回数を表します.出現回数の減少順に出力します.2つの整数が同じ回数である場合、出力値が小さいものから大きいものを出力します.入力サンプル:12 5 2 3 3 1 3 4 2 5 3 5出力サンプル:3 4 2 3 3 1 4
カテゴリ:総合時間制限:1 Sメモリ制限:256 Kb問題説明:n個の整数を与えて、各整数が出現した回数を統計して、出現回数が多い順に出力して、回数が同じ時に先に値の小さい数を出力してください.入力説明:入力された最初の行には、指定された数値の個数を表す整数nが含まれます.1 ≤ n ≤ 1000. 2行目はn個の整数を含み、隣接する整数の間に1つのスペースで区切られ、与えられた整数を表す.与えられた数はいずれも1000を超えない非負の整数である.≪出力の説明|Output Description|emdw≫:各行に2つの整数が含まれ、それぞれ1つの与えられた整数とその出現回数を表します.出現回数の減少順に出力します.2つの整数が同じ回数である場合、出力値が小さいものから大きいものを出力します.入力サンプル:12 5 2 3 3 1 3 4 2 5 3 5出力サンプル:3 4 2 3 3 1 4
#include
int main()
{
int i,j,a[1005]={
0}; // 0
int n,num;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&num);
a[num]++; //
}
for(i=1000;i>0;i--) //i 1000
for(j=0;j<=1000;j++)// 0
if(a[j]==i) // i
printf("%d %d
",j,a[j]);
return 0;
}