All about problems in Volume 4. If there is a thread about your problem, please use it. If not, create one with its number in the subject.
Moderator: Board moderators
rahit
New poster
Posts: 1 Joined: Tue Dec 27, 2011 8:11 am
Post
by rahit » Tue Dec 27, 2011 8:22 am
I'm getting Runtime Error
. Plz help.....
Code: Select all
#include <cstdlib>
#include <iostream>
#include <algorithm>
#include <vector>
#include <vector>
#include <cstdio>
#include <vector>
#include <string.h>
using namespace std;
void qckSort(vector<string> &vec, int left, int right);
int getHighStringLength(vector<string> &vec);
int main() {
int total_file;
while(cin>>total_file){
string s;
vector<string> fileNames;
int i=0, j=0, k=0, l=0, distence=0, column=0, row=0;
char c;
//get file names
for (i = 0; i < total_file; i++) {
cin>>s;
fileNames.push_back(s);
}
qckSort(fileNames, 0, (fileNames.size()-1));
//print 60 "-"
for (i = 0; i < 60 ; i++) {
cout<<"-";
}
distence = getHighStringLength(fileNames);
column = 60/distence;
row = (total_file/column);
cout<<endl;
for(i=0; i < row; i++){
for(j=i; j<fileNames.size(); j=j+row){
cout<<fileNames[j];
l = fileNames[j].size();
l = distence - l;
for(k=0; k<l; k++) {cout<<" ";}
}
cout<<endl;
}
total_file = 0;
fileNames.clear();
}
return 0;
}
void qckSort(vector<string> &vec, int left, int right){
int i = left; int j = right;
int pvt = (left+right)/2;
do{
while(vec[i]<vec[pvt]) i++;
while(vec[pvt]<vec[j]) j--;
if(i <= j){
swap(vec[i],vec[j]);
i++;
j--;
}
}while(i<=j);
if(i<right) qckSort(vec,i,right);
if((left)<j) qckSort(vec,left,j);
}
int getHighStringLength(vector<string> &vec){
int i, temp_length,high_length;
string s;
for(i=0; i<vec.size(); i++){
temp_length = vec[i].size();
if(temp_length>high_length){
high_length = temp_length ;
}
}
return (high_length+2);
}
brianfry713
Guru
Posts: 5947 Joined: Thu Sep 01, 2011 9:09 am
Location: San Jose, CA, USA
Post
by brianfry713 » Fri Jan 06, 2012 11:38 pm
rahit, you're program prints over 60 columns for the third sample test case. You also include <vector> three times.
Check input and AC output for thousands of problems on
uDebug !
Caren
New poster
Posts: 7 Joined: Thu Oct 25, 2012 11:42 pm
Post
by Caren » Fri Oct 26, 2012 1:51 pm
Please Help, this is the third problem that I am stuck on
PE . I have posted others in respective threads. Why this code gives PE?. I have tried with trailing spaces up to maximum length for last column , then trailing spaces up to maximum available space and even with out trailing spaces!!! Now I cant find anything else. Please help. Thanks in advance
Code: Select all
Removed after AC . Codes were fine.There was an online judge problem . Now it's solved and all the solutions are accepted
asitmahato
New poster
Posts: 11 Joined: Mon Feb 20, 2012 11:04 am
Post
by asitmahato » Thu Nov 29, 2012 1:17 pm
Code: Select all
#include<iostream>
#include<cstdio>
#include<vector>
#include<algorithm>
#include<string>
using namespace std;
int main()
{
int num;
string temp;
vector<string>::iterator it;
while(cin>>num)
{
vector<string> files;
int maxSize=0;
for(int i=0;i<num;i++)
{
cin>>temp;
files.push_back(temp);
}
sort(files.begin(),files.end());
for(it=files.begin();it!=files.end();it++)
cout<<*it<<endl;
for(int i=0;i<files.size();i++)
{
if(files[i].length()>maxSize)
maxSize=files[i].length();
}
int col=60/(maxSize+2);
int row =num/col;
for(int i=1;i<61;i++)
cout<<"-";
cout<<endl;
for(int i=0;i<row;i++)
{
for(int j=0;j<col;j++)
{
if(j==0)
{
cout<<files[i];
for(int idx=files[i].length();idx<=maxSize+2;idx++)
cout<<" ";
}
else if(j==col-1)
{
cout<<files[i+row*j];
cout<<endl;
}
else
{
cout<<files[i+row*j];
for(int idx=files[i].length();idx<=maxSize+2;idx++)
cout<<" ";
}
}
}
}
}
getting Runtime Error.
plz help me
brianfry713
Guru
Posts: 5947 Joined: Thu Sep 01, 2011 9:09 am
Location: San Jose, CA, USA
Post
by brianfry713 » Fri Nov 30, 2012 9:12 pm
Doesn't match the sample I/O.
Check input and AC output for thousands of problems on
uDebug !
asitmahato
New poster
Posts: 11 Joined: Mon Feb 20, 2012 11:04 am
Post
by asitmahato » Wed Dec 05, 2012 11:07 am
Code: Select all
#include<iostream>
#include<cstdio>
#include<vector>
#include<algorithm>
#include<string>
using namespace std;
int main()
{
int num;
string temp;
vector<string>::iterator it;
while(scanf("%d",&num))
{
vector<string> files;
int maxSize=0;
for(int i=0;i<num;i++)
{
cin>>temp;
files.push_back(temp);
if((int)files[i].length()>maxSize)
maxSize=files[i].length();
}
sort(files.begin(),files.end());
//cout<<maxSize<<endl;
int col=(60-maxSize)/(maxSize+2) +1;
int row =num/col;
if(num%row)
row++;
cout<<"------------------------------------------------------------";
cout<<endl;
for(int i=0;i<row;i++)
{
for(int j=0;j<col && i+row*j< (int)files.size();j++)
{
cout<<files[i+row*j];
for(int idx=files[i+row*j].length();idx<maxSize;idx++)
cout<<" ";
if(j<col-1)
cout<<" ";
}
cout<<endl;
}
}
return 0;
}
getting time Limit ..help required.
brianfry713
Guru
Posts: 5947 Joined: Thu Sep 01, 2011 9:09 am
Location: San Jose, CA, USA
Post
by brianfry713 » Sat Dec 08, 2012 1:39 am
This runs in an infinite loop on the sample input.
Check input and AC output for thousands of problems on
uDebug !
udoy
New poster
Posts: 7 Joined: Sat Sep 28, 2013 11:27 am
Post
by udoy » Thu Oct 24, 2013 5:44 pm
Code: Select all
#include<cstdio>
#include<sstream>
#include<cstdlib>
#include<cctype>
#include<cmath>
#include<algorithm>
#include<set>
#include<queue>
#include<stack>
#include<list>
#include<iostream>
#include<fstream>
#include<numeric>
#include<string>
#include<vector>
#include<cstring>
#include<map>
#include<iterator>
#define max 100000
#define valid(i,j,x,y) (i>=0 && i<x &&j<y && j>=0 )
using namespace std;
int comp(const void *a,const void*b)
{
}
int main()
{
int a,i,n,b,d,r,f,l,c;
// char str[max][160];
string str[max];
char st[max];
memset(st,'-',60);
for (; (scanf("%d",&n))==1; )
{
for (i=0; i<n ; i++)
{
cin>>str[i];
}
sort(str,str+n);
// for (i=0; i<n ; i++)
// {
// cout<<str[i]<<endl;
// }
printf("%s\n",st);
int g,best=0;
for (i=0; i<n ; i++)
{
if((str[i].length())>best)
best=str[i].length();
// cout<<best<<" "<<str[i].length()<<endl;
}
int better=best;
g=60-best;
// cout<<g<<endl;
best=1+g/(best+2);
//cout<<best<<endl;
int v,j,row=n/best,col=best;
// cout<<best<<endl;
if((double)row<(double)((double)n/(double)best))
row++;
//cout<<row<<endl<<col<<" " <<endl;
for (j=0;j<row ;j++ ){
{
for (i=0; i<col ; i++){
if(i!=col-1)
v=better+2;
else v=better;
printf("%-*s",v,str[i*row+j].c_str());
}
}
printf("\n");
}
}
return 0;
}
brianfry713
Guru
Posts: 5947 Joined: Thu Sep 01, 2011 9:09 am
Location: San Jose, CA, USA
Post
by brianfry713 » Thu Oct 24, 2013 9:13 pm
Don't print trailing spaces
Check input and AC output for thousands of problems on
uDebug !
udoy
New poster
Posts: 7 Joined: Sat Sep 28, 2013 11:27 am
Post
by udoy » Fri Oct 25, 2013 2:18 am
brother
i've optimized it like this but still wa !
Code: Select all
#include<cstdio>
#include<sstream>
#include<cstdlib>
#include<cctype>
#include<cmath>
#include<algorithm>
#include<set>
#include<queue>
#include<stack>
#include<list>
#include<iostream>
#include<fstream>
#include<numeric>
#include<string>
#include<vector>
#include<cstring>
#include<map>
#include<iterator>
#define max 100000
#define valid(i,j,x,y) (i>=0 && i<x &&j<y && j>=0 )
using namespace std;
int comp(const void *a,const void*b)
{
}
int main()
{
int a,i,n,b,d,r,f,l,c;
// char str[max][160];
string str[max];
char st[max];
memset(st,'-',60);
for (; (scanf("%d",&n))==1; )
{
for (i=0; i<n ; i++)
{
cin>>str[i];
}
sort(str,str+n);
// for (i=0; i<n ; i++)
// {
// cout<<str[i]<<endl;
// }
printf("%s\n",st);
int g,best=0;
for (i=0; i<n ; i++)
{
if((str[i].length())>best)
best=str[i].length();
// cout<<best<<" "<<str[i].length()<<endl;
}
int better=best;
g=60-best;
// cout<<g<<endl;
best=1+g/(best+2);
//cout<<best<<endl;
int v,j,row=n/best,col=best;
// cout<<best<<endl;
if((double)row<(double)((double)n/(double)best))
row++;
//cout<<row<<endl<<col<<" " <<endl;
for (j=0; j<row ; j++ )
{
{
for (i=0; i<col ; i++)
{
if(i!=col-1)
{
v=better+2;
printf("%-*s",v,str[i*row+j].c_str());
}
else
printf("%-s",str[i*row+j].c_str());
}
}
printf("\n");
}
}
return 0;
}
brianfry713
Guru
Posts: 5947 Joined: Thu Sep 01, 2011 9:09 am
Location: San Jose, CA, USA
Post
by brianfry713 » Fri Oct 25, 2013 8:53 pm
Don't print trailing spaces on the last line of the sample output.
Check input and AC output for thousands of problems on
uDebug !
udoy
New poster
Posts: 7 Joined: Sat Sep 28, 2013 11:27 am
Post
by udoy » Sun Oct 27, 2013 8:36 am
ive edited else last loop like this......but still wa......u've been a great helper ......thanx in advance
Code: Select all
for (j=0; j<row ; j++ )
{
{
for (i=0; i<col ; i++)
{
if(i!=col-1)
{
v=better+2;
// printf("%s",str[i*row+j].c_str());//previous code
printf("%-*s",v,str[i*row+j].c_str());
}
else
printf("%s",str[i*row+j].c_str());
}
}
printf("\n");
}
brianfry713
Guru
Posts: 5947 Joined: Thu Sep 01, 2011 9:09 am
Location: San Jose, CA, USA
Post
by brianfry713 » Mon Oct 28, 2013 8:04 pm
You're still printing trailing spaces on the last line of the sample output. Next time post your full updated code.
Check input and AC output for thousands of problems on
uDebug !
lighted
Guru
Posts: 587 Joined: Wed Jun 11, 2014 9:56 pm
Location: Kyrgyzstan, Bishkek
Post
by lighted » Tue Aug 12, 2014 9:24 pm
_.B._ wrote: FINALLY!!
ACed
It's such a tedious problem.
Thanks Daveon!
Here's some I/O from my ACed program that I believe will help correct P.E.s and W.A.s:
Input:
Code: Select all
10
tiny
2short4me
very_long_file_name
shorter
size-1
size2
size3
much_longer_name
12345678.123
mid_size_name
12
Weaser
Alfalfa
Stimey
Buckwheat
Porky
Joe
Darla
Cotton
Butch
Froggy
Mrs_Crabapple
P.D.
19
Mr._French
Jody
Buffy
Sissy
Keith
Danny
Lori
Chris
Shirley
Marsha
Jan
Cindy
Carol
Mike
Greg
Peter
Bobby
Alice
Ruben
4
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefgz
123456789112345678921234567893123456789412345678951234567896
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefgh
123456789112345678921234567893123456789412345678951234567896
9
tiny
2short4me
very_long_file_name
shorter
size-1
much_longer_name
12345678.123
mid_size_name
z
52
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
z
y
x
w
v
u
t
s
r
q
p
o
n
m
l
k
j
i
h
g
f
e
d
c
b
a
11
tiny
2short4me
very_long_file_name
shorter
size-1
size2
size3
much_longer_name
12345678.123
mid_size_name
zz
5
koala.jpg
australia.exe
kangaroo.txt
foo.bar
homer.simpson
2
www_algorithmist_com
acm.uva.es
3
bernardo_acm_unix_ls_accepted
finally
no_more_p_e
Output:
Code: Select all
------------------------------------------------------------
12345678.123.........size-1.............
2short4me............size2..............
mid_size_name........size3..............
much_longer_name.....tiny...............
shorter..............very_long_file_name
------------------------------------------------------------
Alfalfa........Cotton.........Joe............Porky........
Buckwheat......Darla..........Mrs_Crabapple..Stimey.......
Butch..........Froggy.........P.D............Weaser.......
------------------------------------------------------------
Alice.......Chris.......Jan.........Marsha......Ruben.....
Bobby.......Cindy.......Jody........Mike........Shirley...
Buffy.......Danny.......Keith.......Mr._French..Sissy.....
Carol.......Greg........Lori........Peter.......
------------------------------------------------------------
123456789112345678921234567893123456789412345678951234567896
123456789112345678921234567893123456789412345678951234567896
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefgh
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefgz
------------------------------------------------------------
12345678.123.........size-1.............
2short4me............tiny...............
mid_size_name........very_long_file_name
much_longer_name.....z..................
shorter..............
------------------------------------------------------------
a..b..d..e..g..h..j..k..m..n..p..q..s..t..v..w..y..z..
a..c..d..f..g..i..j..l..m..o..p..r..s..u..v..x..y..
b..c..e..f..h..i..k..l..n..o..q..r..t..u..w..x..z..
------------------------------------------------------------
12345678.123.........size2..............
2short4me............size3..............
mid_size_name........tiny...............
much_longer_name.....very_long_file_name
shorter..............zz.................
size-1...............
------------------------------------------------------------
australia.exe..homer.simpson..koala.jpg......
foo.bar........kangaroo.txt...
------------------------------------------------------------
acm.uva.es............www_algorithmist_com
------------------------------------------------------------
bernardo_acm_unix_ls_accepted..no_more_p_e..................
finally........................
I got accepted but my outputs doesn't match with outputs in this thread. Is my output wrong?
My output
Code: Select all
------------------------------------------------------------
12345678.123 size-1
2short4me size2
mid_size_name size3
much_longer_name tiny
shorter very_long_file_name
------------------------------------------------------------
Alfalfa Cotton Joe Porky
Buckwheat Darla Mrs_Crabapple Stimey
Butch Froggy P.D. Weaser
------------------------------------------------------------
Alice Chris Jan Marsha Ruben
Bobby Cindy Jody Mike Shirley
Buffy Danny Keith Mr._French Sissy
Carol Greg Lori Peter
------------------------------------------------------------
123456789112345678921234567893123456789412345678951234567896
123456789112345678921234567893123456789412345678951234567896
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefgh
abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefgz
------------------------------------------------------------
12345678.123 size-1
2short4me tiny
mid_size_name very_long_file_name
much_longer_name z
shorter
------------------------------------------------------------
a b d e g h j k m n p q s t v w y z
a c d f g i j l m o p r s u v x y
b c e f h i k l n o q r t u w x z
------------------------------------------------------------
12345678.123 size2
2short4me size3
mid_size_name tiny
much_longer_name very_long_file_name
shorter zz
size-1
------------------------------------------------------------
australia.exe homer.simpson koala.jpg
foo.bar kangaroo.txt
------------------------------------------------------------
acm.uva.es www_algorithmist_com
------------------------------------------------------------
bernardo_acm_unix_ls_accepted
finally
no_more_p_e
A person who sees the good in things has good thoughts. And he who has good thoughts receives pleasure from life... Bediuzzaman
brianfry713
Guru
Posts: 5947 Joined: Thu Sep 01, 2011 9:09 am
Location: San Jose, CA, USA
Post
by brianfry713 » Thu Aug 14, 2014 11:30 pm
This problem has a special judge. My code gets AC without printing any trailing spaces. However, for input:
Code: Select all
3
bernardo_acm_unix_ls_accepted
finally
no_more_p_e
I get:
Code: Select all
------------------------------------------------------------
bernardo_acm_unix_ls_accepted no_more_p_e
finally
The rightmost column will be the width of the longest filename and all other columns will be the width of the longest filename plus 2. There will be as many columns as will fit in 60 characters.
29 + 2 + 29 will fit in 60 characters.
Check input and AC output for thousands of problems on
uDebug !