1. 程式人生 > >D - Where is the Marble? (UVA - 10474)

D - Where is the Marble? (UVA - 10474)

using i++ nbsp ++ mar log 輸出 位置 cpp

- 題目大意

題目中給出一個n個數的序列和q次查詢,每次詢問查詢值是否在序列內,如果在,輸出序列升序排列後的位置(從1開始)。

- 解題思路

先使用sort()函數進行升序排列,然後枚舉出其中與查找的值相同的數,符合條件就輸出。

- 代碼

#include<iostream>
#include<algorithm>

using namespace std;
int num[10000];
int main()
{
	
	int N, Q,q;
	int a=1,b=-1;

	while (cin>>N>>Q)
	{
		if (N == 0 && Q == 0)
			break;
		cout << "CASE# " << a << ":" << endl;
		for (int i = 0; i < N; i++)
		{
			cin >> num[i];
		}
		sort(num,num+N);
		for (int j = 0; j < Q; j++)
		{
			cin >> q;
			for (int k = 0; k < N; k++)
			{
				if (q == num[k])
				{
					cout << q << " found at " << k + 1 << endl;
					b = 0;
					break;
				}
			}
			 if (b == -1)
			 {
				 cout << q << " not found" << endl;
			 }
			 else
			 {
				 b = -1;
			 }
		}
		a++;
	}
	
	return 0;
	
}

  

D - Where is the Marble? (UVA - 10474)