SOMEBODY HELP PLZ......
- Code: Select all
AC
Moderator: Board moderators
Thank u brianfry713
// Remove trailing space from output array
#include <cstdio>
#include <cstring>
#include <string>
#include <iostream>
#include <cctype>
#include <cmath>
#include <cstdlib>
#include <map>
#include <iterator>
using namespace std;
map<unsigned long, unsigned long> fib;
map<unsigned long, unsigned long>::iterator it;
unsigned long fb[1000];
int main()
{
fib[0]=0; fib[1]=1; fib[2]=2;
fb[0]=0; fb[1]=1; fb[2]=2;
unsigned long i, j, pos;
for(i=3 ; i<=50 ; i++){
fib[i] = fib[i-2] + fib[i-1];
fb[i] = fib[i];
}
int T;
unsigned long n, ln, k=1, maxx=0, p=0, tm, ctxt[1112]={0};
char ch, in[1111]={'\0'}, tmp[1112]={'\0'}, pr[1112]={'\0'};
//freopen("in-11385.txt","r",stdin);
//freopen("out-11385.txt","w",stdout);
scanf("%d",&T);
while(T){
scanf("%lu",&n);
for(i=1 ; i<=n ; i++){
scanf("%lu",&ctxt[i]);
if(maxx < ctxt[i]){
maxx = ctxt[i];
}
}
gets(in);
ln=strlen(in);
if(n>0 && ln>0){
for(i = 0 ; i < ln ; i++){
if(in[i]>='A' && in[i]<='Z'){
tmp[k] = in[i];
k++;
}
}
for(i = 1 ; i < 50 ; i++){
if(maxx == fb[i]) {pos=i; }
}
int fnf=1;
for(i=1 ; i<=pos ; i++ ){
tm = fb[i];
int fag=0, pss;
for(j=1 ; j<=n ; j++){
if(tm == ctxt[j]){
fag=1;
pss=j;
break;
}
}
if(fag==1){
if(tmp[pss]>='A' && tmp[pss]<='Z'){
pr[i] = tmp[pss];
}
}
else pr[i]=' ';
fnf++;
}
fnf -= 1;
if(fnf==pos){
for(i = 1 ; i <= pos ; i++){
if( (pr[i]>='A' && pr[i]<='Z') || pr[i]==' '){
printf("%c",pr[i]);
if(i==pos) {T--; fnf=0;}
}
}
printf("\n");
}
memset(in,'\0',sizeof(in));
memset(tmp,'\0',sizeof(tmp));
memset(pr,'\0',sizeof(pr));
memset(ctxt,0,sizeof(ctxt));
}
}
return 0;
}
// Remove trailing space from output array
#include <cstdio>
#include <cstring>
#include <string>
#include <iostream>
#include <cctype>
#include <cmath>
#include <cstdlib>
#include <map>
#include <iterator>
using namespace std;
map<unsigned long, unsigned long> fib;
map<unsigned long, unsigned long>::iterator it;
unsigned long fb[1000];
char in[1111]={'\0'}, tmp[1112]={'\0'}, pr[1112]={'\0'};
unsigned long ctxt[1112]={0};
int main()
{
fib[0]=0; fib[1]=1; fib[2]=2;
fb[0]=0; fb[1]=1; fb[2]=2;
unsigned long i, j, pos;
for(i=3 ; i<=50 ; i++){
fib[i] = fib[i-2] + fib[i-1];
fb[i] = fib[i];
}
int T;
unsigned long n, ln, k=1, maxx=0, p=0, tm;
char ch;
//freopen("in-11385.txt","r",stdin);
//freopen("out-11385.txt","w",stdout);
scanf("%d",&T);
while(T){
k=1;
scanf("%lu",&n);
for(i=1 ; i<=n ; i++){
scanf("%lu",&ctxt[i]);
if(maxx < ctxt[i]){
maxx = ctxt[i];
}
}
gets(in);
ln=strlen(in);
if(n>0 && ln>0){
for(i = 0 ; i < ln ; i++){
if(in[i]>='A' && in[i]<='Z'){
tmp[k] = in[i];
k++;
}
}
int fg=0;
for(i = 1 ; i < 50 ; i++){
if(maxx == fb[i]){
pos=i;
fg=1;
}
}
if (fg==0) pos=49;
int fnf=1;
for(i=1 ; i<=pos ; i++ ){
tm = fb[i];
int fag=0, pss;
for(j=1 ; j<=n ; j++){
if(tm == ctxt[j]){
fag=1;
pss=j;
break;
}
}
if(fag==1){
if(tmp[pss]>='A' && tmp[pss]<='Z'){
pr[i] = tmp[pss];
}
}
else pr[i]=' ';
fnf++;
}
fnf -= 1;
if(fnf==pos){
for(i = 1 ; i <= pos ; i++){
if( (pr[i]>='A' && pr[i]<='Z') || pr[i]==' '){
printf("%c",pr[i]);
if(i==pos) {T--; fnf=0;}
}
}
printf("\n");
}
memset(in,'\0',sizeof(in));
memset(tmp,'\0',sizeof(tmp));
memset(pr,'\0',sizeof(pr));
memset(ctxt,0,sizeof(ctxt));
}
}
return 0;
}
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int findpos(long a, long b[]) {
int i = 45;
while(i >= 0) {
if(b[i] == a) {
return i;
}
i--;
}
return i;
}
int main() {
long fib[46];
long next = 0;
long first = 1;
long second = 1;
int j = 0;
for (long c = 1 ; next < 1836311904 ; c++ ) {
if ( c <= 1 )
next = c;
else {
next = first + second;
first = second;
second = next;
}
fib[j] = next;
j++;
}
int T,N;
cin >> T;
for(int i = 0; i < T; i++) {
cin >> N;
long pos[N];
long m = 0;
for(int j = 0; j < N; j++) {
cin >> pos[j];
m = max(m, pos[j]);
}
string line;
getline(cin, line);
getline(cin, line);
int p = findpos(m, fib);
char ans[p+1];
int j = 0;
for(int k = 0; k < p+1; k++) {
ans[k] = ' ';
}
int k = 0;
int len = line.length();
while (k < len && j < N) {
if(isupper(line[k])) {
int p = findpos(pos[j], fib);
ans[p] = line[k];
j++;
}
k++;
}
cout << ans << endl;
}
}
Users browsing this forum: No registered users and 1 guest