1
#include<iostream>
#include<queue>
#include<unordered_map>
using namespace std;
char arr[1010];
int main(){
int n;
unordered_map<char,int>bk;
unordered_map<char,int>time;
queue<char>q;
cin>>n;
for(int i=1;i<=n;i++){
cin>>arr[i];
char t=arr[i];
if(!bk[t]){
q.push(t);
}
bk[t]++;
}
for(int i=1;i<=n;i++){
int t;
cin>>t;
time[arr[i]]+=t;
}
while(q.size()){
cout<<time[q.front()]/bk[q.front()]<<endl;
q.pop();
}
return 0;
}
2
#include<iostream>
#include<queue>
#include<unordered_map>
using namespace std;
int main(){
int n;
cin>>n;
queue<int>qa;
queue<int>qb;
for(int i=1;i<=n;i++){
int t;
cin>>t;
if(t&1) qa.push(t);
else qb.push(t);
}
while(qa.size()&&qb.size()){
cout<<qa.front()<<" ";
qa.pop();
if(qa.size()){
cout<<qa.front()<<" ";
qa.pop();
}
cout<<qb.front()<<" ";
qb.pop();
}
while(qa.size()){
cout<<qa.front()<<" ";
qa.pop();
}
while(qb.size()){
cout<<qb.front()<<" ";
qb.pop();
}
return 0;
}
3
#include<iostream>
#include<queue>
#include<unordered_map>
#include<stack>
using namespace std;
int main(){
int T;
cin>>T;
while(T--){
stack<int>stk;
queue<int>q;
unordered_map<int,char>bk;
bk[10]='A',bk[11]='B',bk[12]='C';
bk[13]='D',bk[14]='E',bk[15]='F';
double t;
int k;
cin>>t>>k;
int ta=t;
double tb=t-ta;
while(ta){
stk.push(ta%k);
ta/=k;
}
while(tb!=0){
tb*=k;
q.push((int)tb);
tb=tb-(int)tb;
}
while(stk.size()){
if(stk.top()<10)
cout<<stk.top();
else cout<<bk[stk.top()];
stk.pop();
}
cout<<'.';
for(int i=1;i<=3;i++){
if(q.size()){
if(q.front()<10)
cout<<q.front();
else cout<<bk[q.front()];
q.pop();
}
else cout<<0;
}
cout<<endl;
}
return 0;
}
4
#include<iostream>
#include<queue>
#include<unordered_map>
#include<stack>
using namespace std;
int main(){
queue<int>num;
queue<int>q[110];
unordered_map<int,int>g;
unordered_map<int,int>bk;
int n;
cin>>n;
for(int i=1;i<=n;i++){
int m;
cin>>m;
for(int j=1;j<=m;j++){
int t;
cin>>t;
g[t]=i;
}
}
string s;
while(cin>>s){
if(s[0]=='E'){
int t;
cin>>t;
if(!bk[g[t]]) num.push(g[t]);
q[g[t]].push(t);
}
else if(s[0]=='D'){
int t=num.front();
if(q[t].size()){
cout<<q[t].front()<<endl;
q[t].pop();
}
if(q[t].empty()){
bk[t]--;
num.pop();
}
}
else break;
}
return 0;
}