Skip to content

Commit 52742ea

Browse files
committed
restructured codechef codes
1 parent 325b1c5 commit 52742ea

File tree

100 files changed

+2812
-71
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

100 files changed

+2812
-71
lines changed

code-snippets/undef.cpp

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#include<stdio.h>
2+
#include <iostream>
3+
using namespace std;
4+
/**
5+
Answer is (B) -- both can be used
6+
*/
7+
8+
struct A{
9+
char* name;
10+
union
11+
{
12+
char* sval;
13+
}u;
14+
}symtab[10];
15+
16+
int main(void)
17+
{
18+
int i=0;
19+
//char* z = "hello";
20+
//symtab[i].u.sval=new char[2];
21+
*symtab[i].u.sval='z';
22+
printf("%c",*symtab[i].u.sval);
23+
}

codechef/STACKS.cpp

Lines changed: 0 additions & 71 deletions
This file was deleted.

codechef/codechef-2016/BGQRS/main.cpp

Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
#include <iostream>
2+
#include <stdio.h>
3+
using namespace std;
4+
5+
struct factor
6+
{
7+
int powtwo;
8+
int powfive;
9+
};
10+
11+
int main()
12+
{
13+
int t,n,m,type,L,R,sum,temp,powfive,powtwo,power,tom;
14+
long long X,Y;
15+
long long a[100000];
16+
factor ob[100000];
17+
scanf("%d",&t);
18+
while(t--)
19+
{
20+
sum=0;
21+
scanf("%d%d",&n,&m);
22+
for(int i=0; i<n; ++i)
23+
{
24+
scanf("%d",&a[i]);
25+
powfive=0;
26+
powtwo=0;
27+
temp=a[i];
28+
while(temp>0 && temp%2==0)
29+
{
30+
powtwo++;
31+
temp=temp/2;
32+
}
33+
while(temp>0 && temp%5==0)
34+
{
35+
powfive++;
36+
temp/=5;
37+
}
38+
ob[i].powfive=powfive;
39+
ob[i].powtwo=powtwo;
40+
}
41+
for(int i=1; i<=m; ++i)
42+
{
43+
cin>>type;
44+
switch(type)
45+
{
46+
case 1:
47+
{
48+
scanf("%d%d%d",&L,&R,&X);
49+
powfive=0;
50+
powtwo=0;
51+
temp=X;
52+
while(temp>0 && temp%2==0)
53+
{
54+
powtwo++;
55+
temp=temp/2;
56+
}
57+
while(temp>0 && temp%5==0)
58+
{
59+
powfive++;
60+
temp/=5;
61+
}
62+
for(int i=L-1; i<R; ++i)
63+
{
64+
ob[i].powfive+=powfive;
65+
ob[i].powtwo+=powtwo;
66+
}
67+
}
68+
break;
69+
70+
case 2:
71+
{
72+
scanf("%d%d%d",&L,&R,&Y);
73+
powfive=0;
74+
powtwo=0;
75+
temp=Y;
76+
while(temp>0 && temp%2==0)
77+
{
78+
powtwo++;
79+
temp=temp/2;
80+
}
81+
while(temp>0 && temp%5==0)
82+
{
83+
powfive++;
84+
temp/=5;
85+
}
86+
factor Y;
87+
Y.powfive=powfive;
88+
Y.powtwo=powtwo;
89+
for(int i=L-1; i<R; ++i)
90+
{
91+
powfive=0;powtwo=0;
92+
temp=(i-(L-1)+1);
93+
while(temp>0 && temp%2==0)
94+
{
95+
powtwo++;
96+
temp=temp/2;
97+
}
98+
while(temp>0 && temp%5==0)
99+
{
100+
powfive++;
101+
temp/=5;
102+
}
103+
ob[i].powfive=Y.powfive+powfive;
104+
ob[i].powtwo=Y.powtwo+powtwo;
105+
}
106+
}
107+
break;
108+
109+
case 3:
110+
{
111+
scanf("%d%d",&L,&R);
112+
powtwo=0;
113+
powfive=0;
114+
for(int i=L-1; i<R; ++i)
115+
{
116+
powtwo+=ob[i].powtwo;
117+
powfive+=ob[i].powfive;
118+
}
119+
if(powfive<=powtwo)
120+
{
121+
power=powfive;
122+
}
123+
else
124+
{
125+
power=powtwo;
126+
}
127+
sum+=power;
128+
}
129+
break;
130+
}
131+
132+
}
133+
printf("%d\n",sum);
134+
}
135+
return 0;
136+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#include <iostream>
2+
#include <iomanip>
3+
#include <stdio.h>
4+
using namespace std;
5+
6+
int main() {
7+
double s,v,ans;
8+
int t;
9+
cin>>t;
10+
while(t--){
11+
cin>>s>>v;
12+
ans=(s*100)/v;
13+
printf("%.g\n", ans);
14+
}
15+
16+
return 0;
17+
}
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
#include <iostream>
2+
3+
using namespace std;
4+
5+
int main()
6+
{
7+
int t;
8+
cin>>t;
9+
long int a[4];
10+
int flag;
11+
while(t--)
12+
{
13+
flag=0;
14+
for(int i=0; i<4; ++i)
15+
{
16+
cin>>a[i];
17+
if(a[i]==0)
18+
{
19+
flag=1;
20+
}
21+
}
22+
if(a[0]+a[1]==0)
23+
{
24+
flag=1;
25+
}
26+
else if(a[0]+a[2]==0)
27+
{
28+
flag=1;
29+
}
30+
else if(a[0]+a[3]==0)
31+
{
32+
flag=1;
33+
}
34+
else if(a[1]+a[2]==0)
35+
{
36+
flag=1;
37+
}
38+
else if(a[1]+a[3]==0)
39+
{
40+
flag=1;
41+
}
42+
else if(a[2]+a[3]==0)
43+
{
44+
flag=1;
45+
}
46+
47+
if(flag==1)
48+
{
49+
cout<<"Yes\n";
50+
}
51+
else
52+
{
53+
cout<<"No\n";
54+
}
55+
56+
}
57+
58+
return 0;
59+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
#include <iostream>
2+
#include <cstring>
3+
using namespace std;
4+
5+
int main()
6+
{
7+
//ios_base::sync_with_stdio(false);
8+
//cin.tie(NULL);
9+
int t,min,max;
10+
cin>>t;
11+
string s1,s2;
12+
while(t--)
13+
{
14+
cin>>s1>>s2;
15+
min=0,max=0;
16+
unsigned int i;
17+
for(i=0; i<s1.length() && i<s2.length(); i++)
18+
{
19+
if(s1[i]=='?' || s2[i]=='?')
20+
{
21+
max++;
22+
}
23+
else if(s1[i]!='?' && s2[i]!='?' && s1[i]!=s2[i] )
24+
{
25+
max++;
26+
min++;
27+
}
28+
}
29+
while(i<s1.length())
30+
{
31+
max++;
32+
i++;
33+
}
34+
while(i<s2.length())
35+
{
36+
max++;
37+
i++;
38+
}
39+
cout<<min<<" "<<max<<"\n";
40+
}
41+
return 0;
42+
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
#include <iostream>
2+
#include <math.h>
3+
using namespace std;
4+
int mypow(int base, int exponent) {
5+
int n = 1;
6+
for (int i = 0; i < exponent; i++) {
7+
n *= base;
8+
}
9+
return n;
10+
}
11+
12+
13+
int main()
14+
{int a,b;
15+
cin>>a>>b;
16+
int digit=0;
17+
int sum=0;
18+
int result=a-b;
19+
int power=-1;
20+
while(result>0){
21+
sum+=digit* mypow(10,power);
22+
power++;
23+
digit=result%10;
24+
result=result/10;
25+
}
26+
if(digit==9){
27+
digit=digit-1;
28+
}
29+
else{
30+
digit++;
31+
}
32+
sum+= digit* pow(10,power);
33+
cout<<sum;
34+
35+
return 0;
36+
}

0 commit comments

Comments
 (0)