Created
September 8, 2015 07:29
-
-
Save kws4679/3abc531eb78307d08530 to your computer and use it in GitHub Desktop.
System Administrator
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.io.BufferedReader; | |
import java.io.InputStream; | |
import java.io.InputStreamReader; | |
import java.io.PrintWriter; | |
import java.util.StringTokenizer; | |
public class Problem { | |
public static int n,m,v,left,right; | |
public static void main(String[] arg) { | |
FastScanner scan = new FastScanner(System.in); | |
PrintWriter out = new PrintWriter(System.out); | |
n = scan.nextInt(); | |
m = scan.nextInt(); | |
v = scan.nextInt(); | |
if(n - 1 > m){ | |
out.println(-1); | |
} else { | |
int nodes = n - 1; | |
int minedges = nodes - 1; | |
int maxedges = nodes * (nodes - 1) / 2 ; | |
if(minedges <= m - 1 && m - 1 <= maxedges){ | |
left = 1; right = 2; | |
if(v == 1){ | |
left = 2; right = 3; | |
} else if(v == 2){ | |
right = 3; | |
} | |
/* | |
boolean used[][] = new boolean[n+1][n+1]; | |
used[left][v] = used[v][left] = true; | |
used[v][right] = used[right][v] = true; | |
*/ | |
out.println(left + " " + v); | |
int cnt = 0; | |
for(int i = 1; i <= n; i++){ | |
if(i == left) continue; | |
for(int j = i + 1; j <= n; j++){ | |
if(j == left) continue; | |
out.println(i + " " + j); | |
cnt++; | |
if(cnt >= m - 1) break; | |
} | |
if(cnt >= m - 1) break; | |
} | |
//out.println(cnt); | |
} else { | |
out.println(-1); | |
} | |
} | |
out.close(); | |
} | |
static class FastScanner { | |
BufferedReader br; | |
StringTokenizer st; | |
FastScanner(InputStream is) { | |
try { | |
br = new BufferedReader(new InputStreamReader(is)); | |
} catch (Exception e) { | |
e.printStackTrace(); | |
} | |
} | |
String next() { | |
while (st == null || !st.hasMoreTokens()) { | |
try { | |
st = new StringTokenizer(br.readLine()); | |
} catch (Exception e) { | |
return null; | |
} | |
} | |
return st.nextToken(); | |
} | |
int nextInt() { | |
return Integer.parseInt(next()); | |
} | |
long nextLong() { | |
return Long.parseLong(next()); | |
} | |
double nextDouble() { | |
return Double.valueOf(next()); | |
} | |
} | |
} | |
Add Comment |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment