commit 7abc5c8e95763cb60bc9751aba8650802c8bb1f0
parent df6466c226541954a968ce6884a2eae200800503
Author: Antoine Amarilli <a3nm@a3nm.net>
Date: Fri, 27 Mar 2015 22:19:26 +0100
best
Diffstat:
1 file changed, 34 insertions(+), 16 deletions(-)
diff --git a/testing/blah.cpp b/testing/blah.cpp
@@ -7,6 +7,11 @@ int s,a,b,c,d,e,n;
vector<int> r1,r2,c1,c2,size;
vector<vector<int> > G;
+int qual(int x) {
+ return (c1[x] - c2[x]) * (c1[x] - c2[x])
+ + (r1[x] - r2[x]) * (r1[x] - r2[x]);
+}
+
//avant
bool compare_vect(int x, int y){
if(size[x] == size[y]){
@@ -24,6 +29,23 @@ bool compare_vect(int x, int y){
// }
//}
+vector<int> ids;
+
+
+int optimize(vector<bool> &taken, vector<int> &sortie) {
+ int score = 0;
+ for(unsigned int i=0;i<G.size();i++){
+ if(taken[ids[i]])continue;
+ //printf("je prends %d\n", ids[i]);
+ score += size[ids[i]];
+ sortie.push_back(ids[i]);
+ for(unsigned int j = 0; j < G[ids[i]].size(); j++){
+// printf("j'exclus %d\n", G[ids[i]][j]);
+ taken[G[ids[i]][j]]=true;
+ }
+ }
+ return score;
+}
int main(){
scanf("%d",&n);
@@ -48,26 +70,22 @@ int main(){
}
}
- vector<int> ids(G.size());
+ vector<bool> taken(G.size(),false);
+ vector<int> sortie;
+ ids.resize(G.size());
for (unsigned i = 0; i < G.size(); i++) {
ids[i]=i;
}
-
sort(ids.begin(),ids.end(),compare_vect);
-
- vector<bool> taken(G.size(),false);
- vector<int> sortie;
-
- for(unsigned int i=0;i<G.size();i++){
- if(taken[ids[i]])continue;
- printf("je prends %d\n", ids[i]);
- sortie.push_back(ids[i]);
- for(unsigned int j = 0; j < G[ids[i]].size(); j++){
- printf("j'exclus %d\n", G[ids[i]][j]);
- taken[G[ids[i]][j]]=true;
- }
- }
-
+
+ int score = optimize(taken, sortie);
+
+ printf("SCORE %d\n", score);
+
+// while (true) {
+//
+// }
+
// output
printf("%d\n", (int) sortie.size());
for (unsigned i = 0; i < sortie.size(); i++) {