程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> NYOJ 628 小媛在努力

NYOJ 628 小媛在努力

編輯:C++入門知識

小媛在努力

時間限制:1000 ms | 內存限制:65535 KB 難度:2
描述
在多媒體數據處理中,數據壓縮算法尤為重要。小媛上完課後就想自己發明一個數據壓縮算法。她想呀想,終於想到一個方法。在多媒體數據中有很多數據都是重復的,所以她想把連續相同的數據用數據出現的次數和數據本身表示。例如:1 1 1 2 3 3 3 3 3 壓縮後及為3 1 1 2 5 3(表示3個1,1個2和5個3)。有想法後小媛就希望把它用代碼實現了。但是大家都知道小媛現在整天都忙著苦B的復習考研,連電腦都摸不到。所以她希望作為ACMer的你幫她寫一下。
輸入
輸入包含多組數據,第一行一個數字T代表輸入樣例數。

每組樣例開始一個數M < 10^7表示這組數據中數字的個數,接下來M個數表示要被壓縮的數字(數字都不超過int表示的范圍)。
輸出
每組測試數據輸出一行數字對,如上面描述的一樣。兩個數字之間用一個空格隔開。
樣例輸入
1
9 1 1 1 2 3 3 3 3 3 
樣例輸出
3 1 1 2 5 3 
AC碼:有點耗內存!大笑
#include
struct node
{
	int m,count;
}num[100001];
int main()
{
	int n,T,i,j,a;
	scanf("%d",&T);
	while(T--)
	{
		scanf("%d",&n);
		j=0;
		num[0].m=0;
		num[0].count=0;
		for(i=0;i
沒想到輸出還可以先放到緩存!
AC碼:
#include
int main()
{
	int n,T,i,j,a,count;
	scanf("%d",&T);
	while(T--)
	{
		scanf("%d",&n);
		scanf("%d",&j);
		count=1;
		for(i=1;i

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved