Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- int main(){
- int x,start,end,temp;
- vector<int> nums;
- vector<int> missing;
- string line;
- bitset<2001> valid;
- while(getline(cin,line)){
- stringstream ss;
- ss << line;
- while(ss >> x){
- nums.push_back(x);
- }
- bool ruler = true;
- bool perfect = true;
- valid.reset();
- for(int i = 0; i < nums.size()-1; i++){
- for(int j = i+1; j < nums.size(); j++){
- temp = abs(nums[i]-nums[j]);
- if(valid[temp]){
- ruler = false;
- }
- else
- valid[temp] = true;
- }
- }
- start = nums[0];
- end = nums[nums.size()-1];
- if(ruler){
- for(int i = start; i < end + 1; i++){
- if(!valid[i] && i != 0){
- perfect = false;
- missing.push_back(i);
- }
- }
- if(perfect)
- printf("perfect\n");
- else{
- printf("missing ");
- for(int i = 0; i < missing.size(); i++){
- printf("%d ",missing[i]);
- }
- printf("\n");
- }
- }
- else{
- printf("not a ruler\n");
- }
- nums.clear();
- missing.clear();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement