summaryrefslogtreecommitdiff
path: root/10327
diff options
context:
space:
mode:
Diffstat (limited to '10327')
-rw-r--r--10327/flip.cpp25
-rw-r--r--10327/flip.in7
2 files changed, 22 insertions, 10 deletions
diff --git a/10327/flip.cpp b/10327/flip.cpp
index 5ead08c..3f5c897 100644
--- a/10327/flip.cpp
+++ b/10327/flip.cpp
@@ -2,7 +2,7 @@
#include <vector>
//simple bubble sort for now, change later
-vector<int> sort(vector<int> nums){
+std::vector<int> sort(std::vector<int> nums){
int j, sorted = 0, temp;
while(0 == sorted){
sorted = 1;
@@ -22,22 +22,27 @@ vector<int> sort(vector<int> nums){
int main(){
int n;
while(std::cin>>n){
- vector<int> nums, sorted, pos;
+ std::vector<int> nums, sorted;
int num;
while(n--){
std::cin>>num;
nums.push_back(num);
}
sorted = sort(nums);
-
- int nums_idex=0;
- for(int sort_idex=0;
- i<sorted.size() && nums_idex < sorted.size(); i++){
- if(sorted[sort_idex] == nums[nums_idex]){
- pos.push_back(nums_idex - sort_idex);
- nums_idex++;
+
+ int mark[1000] = {0};
+ int pos[1000] = {0};
+
+ for(int i=0; i<nums.size(); i++){
+ for(int j=0; j<sorted.size(); j++){
+ if(nums[i]==sorted[j] && mark[j]!=1){
+ pos[i] = j - i;
+ mark[j] = 1;
+ break;
+ }
}
}
-
+ //
+ std::cout<<"\n";
}
}
diff --git a/10327/flip.in b/10327/flip.in
new file mode 100644
index 0000000..ce9d6c9
--- /dev/null
+++ b/10327/flip.in
@@ -0,0 +1,7 @@
+12
+0 1 2 5 4 1 2 0 5 0 7 9
+
+0 2 3 5 3 -1 0 -6 1 -7 0 0
+
+0 2 0 4 2 -2 -1 -7 0 0 0 :7
+0 1 -1 3 1 -3 -2 0 0 0 : 7 \ No newline at end of file