Advertisement
Guest User

Untitled

a guest
Feb 16th, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.02 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main(){
  5.  
  6. int x,start,end,temp;
  7. vector<int> nums;
  8. vector<int> missing;
  9. string line;
  10. bitset<2001> valid;
  11.  
  12. while(getline(cin,line)){
  13. stringstream ss;
  14. ss << line;
  15. while(ss >> x){
  16. nums.push_back(x);
  17. }
  18. bool ruler = true;
  19. bool perfect = true;
  20. valid.reset();
  21. for(int i = 0; i < nums.size()-1; i++){
  22. for(int j = i+1; j < nums.size(); j++){
  23. temp = abs(nums[i]-nums[j]);
  24. if(valid[temp]){
  25. ruler = false;
  26. }
  27. else
  28. valid[temp] = true;
  29. }
  30. }
  31. start = nums[0];
  32. end = nums[nums.size()-1];
  33. if(ruler){
  34. for(int i = start; i < end + 1; i++){
  35. if(!valid[i] && i != 0){
  36. perfect = false;
  37. missing.push_back(i);
  38. }
  39. }
  40. if(perfect)
  41. printf("perfect\n");
  42. else{
  43. printf("missing ");
  44. for(int i = 0; i < missing.size(); i++){
  45. printf("%d ",missing[i]);
  46. }
  47. printf("\n");
  48. }
  49. }
  50. else{
  51. printf("not a ruler\n");
  52. }
  53. nums.clear();
  54. missing.clear();
  55. }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement