由于我忘记将数组扩容而多花了十几分钟,我认为这是很不值得的
#include <iostream>
using namespace std;
int num, num_1, num_2;
int arr[101];
int brr[101];
int main()
{
cin >> num >> num_1;
for (int i = 0; i < num; i++)
{
cin >> arr[i] >> brr[i];
}
for (int i = 0; i < num - 1; i++)
{
for (int j = i + 1; j < num; j++)
{
if (brr[i] < brr[j])
{
int tmp = brr[i];
brr[i] = brr[j];
brr[j] = tmp;
tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
}
for (int i = 0; i < num - 1; i++)
{
for (int j = i + 1; j < num; j++)
{
if (brr[i] == brr[j] && arr[i] > arr[j])
{
int tmp = brr[i];
brr[i] = brr[j];
brr[j] = tmp;
tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
}
cout << endl;
cout << endl;
cout << endl;
// for(int i=0;i<num;i++){
// cout<<arr[i]<<" "<<brr[i];
// if(i!=num-1) cout<<endl;
// }
num_2 = num_1 * 1.5;
int crr[101];
int count = 0;
for (int i = 0; i < num_2; i++)
{
crr[i] = brr[i];
}
int drr[101];
int count_1 = 0;
for (int i = 0; i < num_2; i++)
{
int flag = 0;
for (int j = 0; j < num_2; j++)
{
if (crr[i] == drr[j])
{
flag = 1;
}
}
if (flag == 0)
{
drr[count_1] = crr[i];
count_1++;
}
}
cout << drr[count_1 - 1] << " ";
for (int i = 0; i < num; i++)
{
for (int j = 0; j < count_1; j++)
{
if (brr[i] == drr[j])
{
count++;
}
}
}
cout << count << endl;
for (int i = 0; i < count; i++)
{
for (int j = 0; j < count_1; j++)
{
if (brr[i] == drr[j])
{
cout << arr[i] << " " << brr[i] << endl;
}
}
}
return 0;
}
以上为40分代码,增大数组存储即可AC