File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ #include < iostream>
2+ #include < vector>
3+
4+ using namespace std ;
5+
6+ int N, M;
7+ vector<int > vec;
8+
9+ void f () {
10+ if (vec.size () == M) {
11+ for (int i : vec) cout << i << " " ;
12+ cout << " \n " ;
13+ return ;
14+ }
15+ for (int i = 0 ; i < N; i++) {
16+ bool isOK = true ;
17+ for (int j : vec) {
18+ if (j == i) {
19+ isOK = false ;
20+ break ;
21+ }
22+ }
23+ if (isOK) {
24+ vec.push_back (i);
25+ f ();
26+ vec.pop_back ();
27+ }
28+ }
29+ }
30+
31+ int main () {
32+ ios_base::sync_with_stdio (false );
33+ cin.tie (NULL ); cout.tie (NULL );
34+
35+ cin >> N >> M;
36+ f ();
37+ return 0 ;
38+ }
Original file line number Diff line number Diff line change 1+ #include < iostream>
2+ #include < vector>
3+ #include < algorithm>
4+
5+ using namespace std ;
6+
7+ int N;
8+
9+ struct Person {
10+ int age;
11+ string name;
12+ };
13+
14+ bool compare (const Person &x, const Person &y) {
15+ return x.age < y.age ;
16+ }
17+
18+ int main () {
19+ ios_base::sync_with_stdio (false );
20+ cin.tie (NULL ); cout.tie (NULL );
21+
22+ cin >> N;
23+ vector<Person> vec;
24+ int age; string name;
25+ for (int i = 0 ; i < N; i++) {
26+ cin >> age >> name;
27+ vec.push_back ({age, name});
28+ }
29+
30+ stable_sort (vec.begin (), vec.end (), compare);
31+
32+ for (auto i : vec) {
33+ cout << i.age << " " << i.name << " \n " ;
34+ }
35+ return 0 ;
36+ }
Original file line number Diff line number Diff line change 1+ #include < iostream>
2+ #include < vector>
3+ #include < algorithm>
4+
5+ using namespace std ;
6+
7+ int N;
8+ vector<int > vec;
9+
10+ int main () {
11+ ios_base::sync_with_stdio (false );
12+ cin.tie (NULL ); cout.tie (NULL );
13+
14+ cin >> N;
15+ int tmp;
16+ for (int i = 0 ; i < N; i++) {
17+ cin >> tmp;
18+ vec.push_back (tmp);
19+ }
20+
21+ sort (vec.begin (), vec.end ());
22+
23+ for (int i : vec) {
24+ cout << i << " \n " ;
25+ }
26+ return 0 ;
27+ }
Original file line number Diff line number Diff line change 1+ #include < iostream>
2+ #include < vector>
3+ #include < algorithm>
4+
5+ using namespace std ;
6+
7+ int N, M;
8+
9+ vector<string> vec;
10+
11+ bool binaraySearch (string target) {
12+ int left = 0 , right = vec.size () - 1 ;
13+ while (left < right) {
14+ int mid = (left + right) / 2 ;
15+ if (vec[mid] < target) left = mid + 1 ;
16+ else right = mid;
17+ }
18+ return (vec[(left + right) / 2 ] == target);
19+ }
20+
21+ int main () {
22+ ios_base::sync_with_stdio (false );
23+ cin.tie (NULL ); cout.tie (NULL );
24+
25+ cin >> N >> M;
26+
27+ string tmp;
28+ for (int i = 0 ; i < N; i++) {
29+ cin >> tmp;
30+ vec.push_back (tmp);
31+ }
32+
33+ sort (vec.begin (), vec.end ());
34+
35+ vector<string> vec1;
36+ for (int i = 0 ; i < M; i++) {
37+ cin >> tmp;
38+ if (binaraySearch (tmp)) {
39+ vec1.push_back (tmp);
40+ }
41+ }
42+
43+ sort (vec1.begin (), vec1.end ());
44+ cout << vec1.size () << " \n " ;
45+ for (string i : vec1) {
46+ cout << i << " \n " ;
47+ }
48+
49+ return 0 ;
50+ }
Original file line number Diff line number Diff line change 1+ #include < iostream>
2+ #include < vector>
3+ #include < algorithm>
4+
5+ using namespace std ;
6+
7+ int N, M;
8+
9+ vector<int > vec;
10+
11+ bool binaraySearch (int num) {
12+ int left = 0 , right = vec.size () - 1 ;
13+ while (left < right) {
14+ int mid = (left + right) / 2 ;
15+ if (vec[mid] < num) left = mid + 1 ;
16+ else right = mid;
17+ }
18+ return (vec[(left + right) / 2 ] == num);
19+ }
20+
21+ int main () {
22+ ios_base::sync_with_stdio (false );
23+ cin.tie (NULL ); cout.tie (NULL );
24+
25+ cin >> N;
26+
27+ int tmp;
28+ for (int i = 0 ; i < N; i++) {
29+ cin >> tmp;
30+ vec.push_back (tmp);
31+ }
32+
33+ sort (vec.begin (), vec.end ());
34+
35+ cin >> M;
36+
37+ for (int i = 0 ; i < M; i++) {
38+ cin >> tmp;
39+ cout << binaraySearch (tmp) << " \n " ;
40+ }
41+
42+ return 0 ;
43+ }
You can’t perform that action at this time.
0 commit comments