summaryrefslogtreecommitdiff
path: root/sem_5/codingbattle
diff options
context:
space:
mode:
Diffstat (limited to 'sem_5/codingbattle')
-rw-r--r--sem_5/codingbattle/ex1/a_loot_sharing.cpp15
-rw-r--r--sem_5/codingbattle/ex1/ex1bin0 -> 9276 bytes
-rw-r--r--sem_5/codingbattle/ex2/ex2bin0 -> 14359 bytes
-rw-r--r--sem_5/codingbattle/ex2/ex2.cpp32
-rw-r--r--sem_5/codingbattle/ex3/ex3bin0 -> 84143 bytes
-rw-r--r--sem_5/codingbattle/ex3/ex3.cpp98
-rw-r--r--sem_5/codingbattle/ex4/ex4bin0 -> 36973 bytes
-rw-r--r--sem_5/codingbattle/ex4/ex4.cpp10
-rw-r--r--sem_5/codingbattle/ex5/ex5.cpp10
-rw-r--r--sem_5/codingbattle/ex6/ex6bin0 -> 48192 bytes
-rw-r--r--sem_5/codingbattle/ex6/ex6.cpp56
-rw-r--r--sem_5/codingbattle/input0
12 files changed, 221 insertions, 0 deletions
diff --git a/sem_5/codingbattle/ex1/a_loot_sharing.cpp b/sem_5/codingbattle/ex1/a_loot_sharing.cpp
new file mode 100644
index 0000000..4003247
--- /dev/null
+++ b/sem_5/codingbattle/ex1/a_loot_sharing.cpp
@@ -0,0 +1,15 @@
+#include <iostream>
+#include <string>
+using namespace std;
+
+int main (int argc, char ** argv){
+ int B;
+ int T;
+ int po;
+ cin >>B>>T>>po;
+ if ( B*2 + T * 3 <= po){
+ cout<<"LOOT!"<<endl;
+ }
+ else cout<<"RHUM!"<<endl;
+ return 0;
+}
diff --git a/sem_5/codingbattle/ex1/ex1 b/sem_5/codingbattle/ex1/ex1
new file mode 100644
index 0000000..aef9718
--- /dev/null
+++ b/sem_5/codingbattle/ex1/ex1
Binary files differ
diff --git a/sem_5/codingbattle/ex2/ex2 b/sem_5/codingbattle/ex2/ex2
new file mode 100644
index 0000000..4c64c21
--- /dev/null
+++ b/sem_5/codingbattle/ex2/ex2
Binary files differ
diff --git a/sem_5/codingbattle/ex2/ex2.cpp b/sem_5/codingbattle/ex2/ex2.cpp
new file mode 100644
index 0000000..8ff3c08
--- /dev/null
+++ b/sem_5/codingbattle/ex2/ex2.cpp
@@ -0,0 +1,32 @@
+#include <iostream>
+#include <string>
+using namespace std;
+
+int main (int argc, char ** argv){
+ int g,n;
+ int max=0;
+ string strmax= "";
+ int tmp2;
+ cin >> g >> n;
+ string a;
+ int prixp;
+ int prix;
+ for (int i =0; i < n; i ++){
+ cin >> a >> prixp >> prix;
+ int tmp = g;
+ tmp = tmp - prix;
+ tmp = tmp/prixp;
+ if (tmp > max){
+ max=tmp;
+ strmax= a;
+ }
+ }
+ if (max == 0){
+ cout << "Impossible"<<endl;
+ }
+ else {
+ cout<<max<<endl;
+ cout<<strmax;
+ }
+return 0;
+}
diff --git a/sem_5/codingbattle/ex3/ex3 b/sem_5/codingbattle/ex3/ex3
new file mode 100644
index 0000000..5c6d6f5
--- /dev/null
+++ b/sem_5/codingbattle/ex3/ex3
Binary files differ
diff --git a/sem_5/codingbattle/ex3/ex3.cpp b/sem_5/codingbattle/ex3/ex3.cpp
new file mode 100644
index 0000000..3d2d20b
--- /dev/null
+++ b/sem_5/codingbattle/ex3/ex3.cpp
@@ -0,0 +1,98 @@
+#include <iostream>
+#include <string>
+#include<vector>
+#include<algorithm>
+using namespace std;
+
+void printtab(int n, int tab[]);
+void printvec(int n, vector<int> tab);
+int main (int argc, char ** argv){
+ int L,N;
+ cin >> L>>N;
+ int pos[N];
+ int size[N];
+ for (int i =0;i < N; i ++){
+ cin>>pos[i];
+ }
+ vector<int> ecart(N-1);//ecart entre le i eme poste et le i + 1 ieme
+ int nbchapsize[19];
+ for (int i =0; i < 19; i ++){
+ nbchapsize[i]= 0;
+ }
+ int totalchap=0;
+ for (int i = 0 ; i < N; i ++){
+ cin>>size[i];
+ if (i < N-1){
+ ecart[i]=pos[i+1]-pos[i];
+ }
+ nbchapsize[size[i]-1]++;
+ totalchap += size[i]*2;
+ }
+
+
+ vector<int> vraiecart(N-1);
+ // cout<<"Chapeau dispos"<<endl;
+ // printtab(19, nbchapsize);
+ // cout<<"Ecart"<<endl;
+ // printvec(N-1, ecart);
+
+ for (int i = 0 ; i <N-1;i++){
+ vraiecart[i]= max(ecart[i]%2==0?ecart[i]/2:ecart[i]/2+1,ecart[i+1]%2==0?ecart[i+1]/2:ecart[i+1]/2+1);
+ }
+ cout<<"Ecartreels"<<endl;
+ printvec(N-1, vraiecart);
+ if (totalchap < L){
+ cout<<"NO"<<endl;
+ return 0;
+ }
+ sort(vraiecart.begin(),vraiecart.begin()+N);
+ bool keepgoing = true;
+ bool answer= false;
+ int j =N-1;
+ int oldj= 0;
+ int h = 0;
+ while (keepgoing){
+ // cout << " j : "<<j<<"h : "<<h<<endl;
+ if (oldj!=j){
+ h= vraiecart[j]/2;
+ oldj=j;
+ }
+ if (h >= 20){
+ answer= false;
+ break;
+ }
+ if (j==0){
+ answer=true;
+ break;
+ }
+ if (nbchapsize[h]>0){
+ j --;
+ nbchapsize[h]--;
+ // cout<<"- 1 chapeau de taille "<< h+1<<endl;
+ }
+ else {
+ // cout<< "Pas de chapeau de taille "<<h+1<<endl;
+ h ++;
+
+ }
+ }
+ if (answer){
+ cout << "YES"<<endl;
+ }
+ else cout<<"NO"<<endl;
+
+ return 0;
+}
+
+void printtab(int n, int tab[]){
+ for (int i = 0; i < n; i ++){
+ cout <<tab[i]<<";";
+ }
+ cout<<endl;
+}
+void printvec(int n, vector<int> tab){
+ for (int i = 0; i < n; i ++){
+ cout <<tab[i]<<";";
+ }
+ cout<<endl;
+}
diff --git a/sem_5/codingbattle/ex4/ex4 b/sem_5/codingbattle/ex4/ex4
new file mode 100644
index 0000000..98f11e2
--- /dev/null
+++ b/sem_5/codingbattle/ex4/ex4
Binary files differ
diff --git a/sem_5/codingbattle/ex4/ex4.cpp b/sem_5/codingbattle/ex4/ex4.cpp
new file mode 100644
index 0000000..2067e60
--- /dev/null
+++ b/sem_5/codingbattle/ex4/ex4.cpp
@@ -0,0 +1,10 @@
+#include <iostream>
+#include <string>
+using namespace std;
+
+int main (int argc, char ** argv){
+ string a;
+ cin >> a;
+ cout << a << endl;
+return 1;
+}
diff --git a/sem_5/codingbattle/ex5/ex5.cpp b/sem_5/codingbattle/ex5/ex5.cpp
new file mode 100644
index 0000000..2067e60
--- /dev/null
+++ b/sem_5/codingbattle/ex5/ex5.cpp
@@ -0,0 +1,10 @@
+#include <iostream>
+#include <string>
+using namespace std;
+
+int main (int argc, char ** argv){
+ string a;
+ cin >> a;
+ cout << a << endl;
+return 1;
+}
diff --git a/sem_5/codingbattle/ex6/ex6 b/sem_5/codingbattle/ex6/ex6
new file mode 100644
index 0000000..ab926f3
--- /dev/null
+++ b/sem_5/codingbattle/ex6/ex6
Binary files differ
diff --git a/sem_5/codingbattle/ex6/ex6.cpp b/sem_5/codingbattle/ex6/ex6.cpp
new file mode 100644
index 0000000..48d4c8b
--- /dev/null
+++ b/sem_5/codingbattle/ex6/ex6.cpp
@@ -0,0 +1,56 @@
+#include <iostream>
+#include <string>
+#include<vector>
+#include<algorithm>
+using namespace std;
+
+void printtab(int n, int tab[]){
+ for (int i = 0; i < n; i ++){
+ cout <<tab[i]<<";";
+ }
+ cout<<endl;
+}
+int main (int argc, char ** argv){
+ int N;
+ cin >> N;
+ int P;
+ cin >> P;
+ vector<int> poid(N);
+ for (int i = 0 ; i < N; i ++){
+ cin>>poid[i];
+ }
+ int rivalite[N];
+ for (int i =0; i < N; i ++){
+ rivalite[i]=0;
+ }
+ int tmp;
+ for (int i = 0; i < P; i ++){
+ cin >> tmp;
+ cin >>rivalite[tmp];
+ rivalite[rivalite[tmp]]=tmp;
+ }
+ int poida=0;
+ int poidb=0;
+ int equa[N];
+ int equb[N];
+ for (int i =0; i < N; i ++){
+ equa[i]=0;
+ equb[i]=0;
+ }
+ for (int i=0 ; i < N; i ++){
+ if (( equa[rivalite[i]]!=0 &&equb[rivalite[i]]==0)){
+ poidb+=poid[i];
+ equb[i]=1;
+ }
+ else if ( equb[rivalite[i]]==0 && equa[rivalite[i]]==0) {
+ poida+=poid[i];
+ equa[i]=1;
+ }
+ }
+ printtab(N, equa);
+ printtab(N, equb);
+ cout<<poida<< " "<< poidb<<endl;
+ cout<<abs(poida-poidb)<<endl;
+
+return 1;
+}
diff --git a/sem_5/codingbattle/input b/sem_5/codingbattle/input
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/sem_5/codingbattle/input