假设 p=2,q=3
即
把他们重合,尽可能多的边重合
即
重合的边就是 gcd(p,q)
所以答案就是 p+q-gcd(p,q)
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <cctype>
#include <cmath>
#include <sstream>
#include <vector>
using namespace std;
#define REP(i,a,b) for(int i=a;i<(int)b;i++)
#define REPD(i,a,b) for(int i=a;i>=(int)b;i--)int gcd(int a, int b){return b==0 ? a : gcd(b,a%b);
}int main()
{int p,q;while(scanf("%d%d",&p,&q)==2)printf("%d\n", p+q-gcd(p,q));return 0;
}