[uva] 10474 - Where is the Marble?
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1415
这个水的要死的题...哪能看出来是回溯, 为啥刘汝佳大神要放到回溯分类里...
1 #include <cstdio> 2 #include <vector> 3 #include <algorithm> 4 5 using namespace std; 6 int main(int argc, const char * argv[]) 7 { 8 int N = 0, Q = 0; 9 int id = 1; 10 while (scanf("%d%d", &N, &Q)) { 11 if (N == 0 && Q == 0) { 12 break; 13 } 14 vector<int> arr(N); 15 vector<int> q(Q); 16 for (unsigned int i = 0; i < N; ++i) { 17 scanf("%d", &arr[i]); 18 } 19 for (unsigned int i = 0; i < Q; ++i) { 20 scanf("%d", &q[i]); 21 } 22 sort(arr.begin(), arr.end()); 23 printf("CASE# %d:\n", id++); 24 for (unsigned int i = 0; i < Q; ++i) { 25 vector<int>::iterator re = find(arr.begin(), arr.end(), q[i]); 26 if (re != arr.end()) { 27 printf("%d found at %d\n", q[i], int(re - arr.begin() + 1)); 28 } else { 29 printf("%d not found\n", q[i]); 30 } 31 } 32 } 33 return 0; 34 }