https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4432
這題的方法是先以結束時間為基準做排序,再來進入迴圈一個一個去比開始時間有沒有比t大,若有t改成結束時間count++
import java.util.Scanner;
class Pair{
private int L;
private int R;
public Pair(int left,int right){
this.L=left;this.R=right;
}
public void change(int left,int right){
this.L=left;this.R=right;
}
public int getL(){
return L;
}
public int getR(){
return R;
}
}
public class Main {
public static void main(String[] args) {
Scanner scn =new Scanner(System.in);
int n=scn.nextInt();
while(n--!=0){
Pair arr[]=new Pair [21];
int length=0;
while(true){
arr[length] = new Pair(scn.nextInt(),scn.nextInt());
if(arr[length].getL()+arr[length++].getR()==0){
length--;
break;
}
}
for(int i=0;i<length-1;i++){
for(int j=i+1;j<length;j++){
if(arr[i].getR()>arr[j].getR()){
Pair temp=new Pair(arr[i].getL(),arr[i].getR());
arr[i]=new Pair(arr[j].getL(),arr[j].getR());
arr[j]=temp;
}
else if(arr[i].getR()==arr[j].getR()){
if(arr[i].getL()>arr[j].getL()){
Pair temp=new Pair(arr[i].getL(),arr[i].getR());
arr[i]=new Pair(arr[j].getL(),arr[j].getR());
arr[j]=temp;
}
}
}
}
int t=0,count=0;
for(int i=0;i<length;i++){
if(t<=arr[i].getL()){
t=arr[i].getR();
count++;
}
}
System.out.println(count);
}
}
/*題目:Q12694 Meeting Room Arrangement 結構化方法
作者:1010
時間:西元 2016 年 10 月 */
}
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scn =new Scanner(System.in);
int n=scn.nextInt();
while(n--!=0){
int arr[][]=new int [21][2],length=0;
while(true){
arr[length][0]=scn.nextInt();
arr[length][1]=scn.nextInt();
if(arr[length][0]+arr[length++][1]==0){
length--;
break;
}
}
for(int i=0;i<length-1;i++){
for(int j=i+1;j<length;j++){
if(arr[i][1]>arr[j][1]){
int temp=arr[i][1];
arr[i][1]=arr[j][1];
arr[j][1]=temp;
temp=arr[i][0];
arr[i][0]=arr[j][0];
arr[j][0]=temp;
}
else if(arr[j][1]==arr[i][1]){
if(arr[i][0]>arr[j][0]){
int temp=arr[i][1];
arr[i][1]=arr[j][1];
arr[j][1]=temp;
temp=arr[i][0];
arr[i][0]=arr[j][0];
arr[j][0]=temp;
}
}
}
}
int t=0,count=0;
for(int i=0;i<length;i++){
if(t<=arr[i][0]){
t=arr[i][1];
count++;
}
}
System.out.println(count);
}
}
/*題目:Q12694 Meeting Room Arrangement 二維陣列列方法
作者:1010
時間:西元 2016 年 10 月 */
}