Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma warning (disable : 4996)
- #include <stdlib.h>
- #include <iostream>
- #include <vector>
- #include <string>
- #include <assert.h>
- #include <stack>
- #include <algorithm>
- #include <ios>
- #include <iostream>
- #include <fstream>
- #include <iomanip>
- #include <queue>
- #include <set>
- #include <functional>
- #include <cmath>
- #include <sstream>
- #include <map>
- #include <memory.h>
- #include <stdio.h>
- #include <cassert>
- #include <string.h>
- #define forn(i , n) for (int i = 0; i < n; ++i)
- #define down(i, n) for (int i = n - 1; i >= 0; --i)
- using namespace std;
- typedef unsigned long long int u64;
- typedef long long int i64;
- typedef vector<i64> vint;
- typedef vector<i64> vi64;
- typedef pair<int, int> pint;
- typedef pair<i64, i64> pi64;
- #define FILE_NAME "file"
- #define M_PI 3.14159265358979323846
- double sqr(double a)
- {
- return a * a;
- }
- struct Node
- {
- vector<int> nbr;
- int used;
- int p1, p2;
- int init, goal;
- Node()
- {
- p1 = p2 = 0;
- used = 0;
- }
- };
- #define MAXN 300000
- #define MODULE 1000000009
- struct St
- {
- int n, m;
- bool operator<(const St & b) const{
- if (n !=b.n)
- {
- return n < b.n;
- }
- else
- return m < b.m;
- }
- };
- double leng(pint a, pint b)
- {
- double c = sqr(a.first - b.first) + sqr(a.second - b.second);
- return sqrt(c);
- }
- double getL(vector<pint> & a)
- {
- double ans = 0;
- forn(i, 3)
- {
- ans += leng(a[i], a[i + 1]);
- }
- return ans;
- }
- int main()
- {
- clock_t start = clock();
- ios_base::sync_with_stdio(false);
- cin.tie(NULL);
- cout << fixed << setprecision(15);
- #ifdef FILE_INPUT
- freopen(FILE_NAME ".in", "r", stdin);
- freopen(FILE_NAME ".out", "w", stdout);
- #endif
- vector<pint> arr;
- int n, m;
- cin >> n >> m;
- double ans = 0;
- double s = n * m - 1;
- ans = ((m - 1)*(n - 1) / s + 1) / n;
- //ans *= m;
- cout << ans;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement