diff options
| -rw-r--r-- | 12356/buddies.cpp | 41 | ||||
| -rw-r--r-- | 12356/buddies.in | 33 |
2 files changed, 74 insertions, 0 deletions
diff --git a/12356/buddies.cpp b/12356/buddies.cpp new file mode 100644 index 0000000..31fbed3 --- /dev/null +++ b/12356/buddies.cpp @@ -0,0 +1,41 @@ +#include <iostream> +using namespace std; + +int main(){ + int s, r; + scanf("%d %d", &s, &r); + while(s>0){ + int line[100000]={0}; + for(int i=0; i<s; i++) + line[i]=1; + + int left, right; + + while(r--){ + bool foundleft = false; + int left_seek, right_seek; + + scanf("%d %d", &left, &right); + + for(int i=left-1; i<right; i++) + line[i]=0; + + for(left_seek=left-1; line[left_seek]==0 + && left_seek>0; left_seek--); + for(right_seek=right-1; line[right_seek]==0 + && right_seek<s; right_seek++); + + if(left_seek<=0 && line[left_seek]==0) + printf("* "); + else + printf("%d ", left_seek+1); + + if(right_seek==s && line[right_seek]==0) + printf("*\n"); + else + printf("%d\n", right_seek+1); + } + printf("-\n"); + scanf("%d %d", &s, &r); + } +} diff --git a/12356/buddies.in b/12356/buddies.in new file mode 100644 index 0000000..3d4e4e6 --- /dev/null +++ b/12356/buddies.in @@ -0,0 +1,33 @@ +1 1 +1 1 +10 4 +2 5 +6 9 +1 1 +10 10 +5 1 +1 1 +10 4 +1 7 +8 8 +9 9 +10 10 +10 5 +5 10 +4 4 +2 2 +3 3 +1 1 +10 5 +2 2 +3 5 +8 8 +9 10 +1 1 +2 1 +1 2 +100000 3 +2 999 +5600 8472 +99001 99999 +0 0 |
