delete pics to save space
This commit is contained in:
38
history_source/ccf 基础篇/U3/3.5.1.cpp
Normal file
38
history_source/ccf 基础篇/U3/3.5.1.cpp
Normal file
@ -0,0 +1,38 @@
|
||||
#include<iostream>
|
||||
#include<string>
|
||||
using namespace std;
|
||||
struct people
|
||||
{
|
||||
string name;
|
||||
int f;
|
||||
};
|
||||
int n;
|
||||
int main()
|
||||
{
|
||||
people sr[100];
|
||||
int k;
|
||||
while(true)
|
||||
{
|
||||
cin>>n>>k;
|
||||
for(int i=0;i<n;i++) cin>>sr[i].name>>sr[i].f;
|
||||
bool b;
|
||||
people x;
|
||||
for(int i=n-1;i>0;i--)
|
||||
{
|
||||
b=1;
|
||||
for(int j=0;j<i;j++)
|
||||
{
|
||||
if(sr[j].f>sr[j+1].f){
|
||||
x=sr[j];
|
||||
sr[j]=sr[j+1];
|
||||
sr[j+1]=x;
|
||||
b=0;
|
||||
}
|
||||
}
|
||||
if(b) break;
|
||||
}
|
||||
cout<<endl;
|
||||
cout<<sr[k-1].name<<endl;
|
||||
cout<<endl;
|
||||
}
|
||||
}
|
63
history_source/ccf 基础篇/U3/3.5.2.cpp
Normal file
63
history_source/ccf 基础篇/U3/3.5.2.cpp
Normal file
@ -0,0 +1,63 @@
|
||||
#include<iostream>
|
||||
#include<vector>
|
||||
using namespace std;
|
||||
struct Sr
|
||||
{
|
||||
int num;
|
||||
int p=0;
|
||||
};
|
||||
int main()
|
||||
{
|
||||
vector <int> sr1;
|
||||
vector <Sr> sr2;
|
||||
Sr li;
|
||||
int n;
|
||||
while(true)
|
||||
{
|
||||
cin>>n;
|
||||
sr1.resize(n);
|
||||
for(int i=0;i<n;i++) cin>>sr1[i];
|
||||
sr2.clear();
|
||||
for(int i=0;i<n;i++)
|
||||
{
|
||||
li.num=sr1[i];
|
||||
sr2.push_back(li);
|
||||
}
|
||||
bool b;
|
||||
for(int i=sr2.size()-1;i>0;i--)
|
||||
{
|
||||
b=1;
|
||||
for(int j=0;j<i;j++)
|
||||
{
|
||||
if(sr2[j].num>sr2[j+1].num){
|
||||
li=sr2[j];
|
||||
sr2[j]=sr2[j+1];
|
||||
sr2[j+1]=li;
|
||||
b=0;
|
||||
}
|
||||
}
|
||||
if(b) break;
|
||||
}
|
||||
for(int i=0;i+1<sr2.size();i++)
|
||||
{
|
||||
if(sr2[i].num==sr2[i+1].num)
|
||||
{
|
||||
sr2.erase(sr2.begin()+i);
|
||||
i--;
|
||||
}
|
||||
}
|
||||
for(int i=1;i<=sr2.size();i++) sr2[i].p=i;
|
||||
for(int i=0;i<sr1.size();i++)
|
||||
{
|
||||
for(int j=0;j<sr2.size();j++)
|
||||
{
|
||||
if(sr1[i]==sr2[j].num)
|
||||
{
|
||||
cout<<sr2[j].p+1<<" ";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
cout<<endl;
|
||||
}
|
||||
}
|
85
history_source/ccf 基础篇/U3/3.5.3.cpp
Normal file
85
history_source/ccf 基础篇/U3/3.5.3.cpp
Normal file
@ -0,0 +1,85 @@
|
||||
#include<iostream>
|
||||
#include<vector>
|
||||
#include<string>
|
||||
#include<cmath>
|
||||
#define BASE 100000000
|
||||
#define SIZE 8
|
||||
using namespace std;
|
||||
struct bigNum
|
||||
{
|
||||
vector<int>num;
|
||||
bigNum operator=(string b)
|
||||
{
|
||||
num.clear();
|
||||
for(int i=0;i<b.size();i++)
|
||||
{
|
||||
if(i%SIZE==0) num.insert(num.begin(),0);
|
||||
num[0]+=(b[b.size()-1-i]-'0')*pow(10,i%SIZE);
|
||||
}
|
||||
while(num[0]==0&&num.size()>1) num.erase(num.begin());
|
||||
}
|
||||
bigNum operator+(bigNum b)
|
||||
{
|
||||
bigNum a;
|
||||
a.num=num;
|
||||
if(a.num.size()<b.num.size())
|
||||
{
|
||||
bigNum c=a;
|
||||
a=b;
|
||||
b=c;
|
||||
}
|
||||
int ai,bi;
|
||||
int j=0;
|
||||
for(ai=a.num.size()-1,bi=b.num.size()-1;bi>=0;ai--,bi--)
|
||||
{
|
||||
a.num[ai]=a.num[ai]+b.num[bi]+j;
|
||||
j=a.num[ai]/BASE;
|
||||
a.num[ai]=a.num[ai]%BASE;
|
||||
}
|
||||
while(ai>=0&&j)
|
||||
{
|
||||
a.num[ai]+=j;
|
||||
j=a.num[ai]/BASE;
|
||||
a.num[ai]=a.num[ai]%BASE;
|
||||
ai--;
|
||||
}
|
||||
if(j) a.num.insert(a.num.begin(),1);
|
||||
return a;
|
||||
}
|
||||
};
|
||||
ostream& operator<<(ostream &a,bigNum b)
|
||||
{
|
||||
a<<b.num[0];
|
||||
int x;
|
||||
for(int i=1;i<b.num.size();i++)
|
||||
{
|
||||
x=b.num[i];
|
||||
if(x<10) a<<"0000000";
|
||||
else if(x<100) a<<"000000";
|
||||
else if(x<1000) a<<"00000";
|
||||
else if(x<10000) a<<"0000";
|
||||
else if(x<100000) a<<"000";
|
||||
else if(x<1000000) a<<"00";
|
||||
else if(x<10000000) a<<"0";
|
||||
a<<x;
|
||||
}
|
||||
return a;
|
||||
}
|
||||
int main()
|
||||
{
|
||||
int n;
|
||||
cin>>n;
|
||||
bigNum ans[n];
|
||||
bigNum a,b;
|
||||
string x;
|
||||
for(int i=0;i<n;i++)
|
||||
{
|
||||
cin>>x;
|
||||
a=x;
|
||||
cin>>x;
|
||||
b=x;
|
||||
ans[i]=a+b;
|
||||
}
|
||||
for(int i=0;i<n;i++) cout<<ans[i]<<endl;
|
||||
return 0;
|
||||
}
|
Reference in New Issue
Block a user