More actions
imported>jereneal20 No edit summary |
(Repair batch-0003 pages from live compare) |
||
| (One intermediate revision by one other user not shown) | |||
| Line 1: | Line 1: | ||
== Status == | == Status == | ||
{| class="wikitable" | {| class="wikitable" style="width:100%;" | ||
|- | |- | ||
| Problem | | Problem | ||
| Line 25: | Line 25: | ||
{ | { | ||
int N,i,j,k=0; | int N,i,j,k=0; | ||
double a | double a[200][200]={0}; | ||
int c | int c[200][200]={0}, C=-1; | ||
int b | int b[2][200]={0}; | ||
scanf("%d",&N); | scanf("%d",&N); | ||
for(i=0;i<N;i++){ | for(i=0;i<N;i++){ | ||
scanf("%d %d",&b | scanf("%d %d",&b[0][i],&b[1][i]); | ||
} | } | ||
for(i=0;i<N;i++){ | for(i=0;i<N;i++){ | ||
| Line 37: | Line 37: | ||
for(j=i+1;j<N;j++){ | for(j=i+1;j<N;j++){ | ||
//a에 있는 기울기들은 i마다 최대 점의수 -1 까지 들어가겠지 | //a에 있는 기울기들은 i마다 최대 점의수 -1 까지 들어가겠지 | ||
if(b | if(b[0][i]==b[0][j]) {C++; continue;} | ||
a | a[i][j]=(b[1][i]-b[1][j])/(b[0][i]-b[0][j]); | ||
} | } | ||
for(j=i+1;j<N-1;j++){ | for(j=i+1;j<N-1;j++){ | ||
//갯수 세기 | //갯수 세기 | ||
for(k=0;k<N-1;k++){ | for(k=0;k<N-1;k++){ | ||
//if(a | //if(a[i][j]!=0){ | ||
if(a | if(a[i][j]==a[i][k+1]) c[i][j]++; | ||
//} | //} | ||
} | } | ||
} | } | ||
c | c[i][0]=c[i][j-1]; | ||
for(j=i+1;j<N-1;j++){ | for(j=i+1;j<N-1;j++){ | ||
if(c | if(c[i][0]<c[i][j+1]) c[i][0]=c[i][j+1]; | ||
} | } | ||
} | } | ||
//입력해서 기울기를 a에 넣고, C에다 갯수 넣는다. | //입력해서 기울기를 a에 넣고, C에다 갯수 넣는다. | ||
if(C<c | if(C<c[0][0]) C=c[0][0]; | ||
for(i=0;i<N-1;i++){ | for(i=0;i<N-1;i++){ | ||
if(c | if(c[i][0]<c[i+1][0]) C=c[i+1][0]; | ||
} | } | ||
if(C==0) C++; | if(C==0) C++; | ||
| Line 86: | Line 86: | ||
1 1 | 1 1 | ||
2 2 | 2 2 | ||
101 102 | 101 102 만족 | ||
---- | ---- | ||
[[ACM_ICPC/2011년스터디]] | [[ACM_ICPC/2011년스터디]] | ||
Latest revision as of 00:29, 27 March 2026
Status
| Problem | 2606 | User | jereneal20 |
| Memory | ?K | Time | ?MS |
| Language | GCC | Result | Wrong Answer |
Source
#include <stdio.h>
int main()
{
int N,i,j,k=0;
double a[200][200]={0};
int c[200][200]={0}, C=-1;
int b[2][200]={0};
scanf("%d",&N);
for(i=0;i<N;i++){
scanf("%d %d",&b[0][i],&b[1][i]);
}
for(i=0;i<N;i++){
//기울기를 구해 a에 넣는다
for(j=i+1;j<N;j++){
//a에 있는 기울기들은 i마다 최대 점의수 -1 까지 들어가겠지
if(b[0][i]==b[0][j]) {C++; continue;}
a[i][j]=(b[1][i]-b[1][j])/(b[0][i]-b[0][j]);
}
for(j=i+1;j<N-1;j++){
//갯수 세기
for(k=0;k<N-1;k++){
//if(a[i][j]!=0){
if(a[i][j]==a[i][k+1]) c[i][j]++;
//}
}
}
c[i][0]=c[i][j-1];
for(j=i+1;j<N-1;j++){
if(c[i][0]<c[i][j+1]) c[i][0]=c[i][j+1];
}
}
//입력해서 기울기를 a에 넣고, C에다 갯수 넣는다.
if(C<c[0][0]) C=c[0][0];
for(i=0;i<N-1;i++){
if(c[i][0]<c[i+1][0]) C=c[i+1][0];
}
if(C==0) C++;
printf("%d",C+1);
return 0;
}
Trial and Error
- 새벽 5시까지 삽질해서 만든 코드입니다. 웬만한 예외사항도 다 점검해봤는데 됩니다. 하지만 기울기가 소숫값이면 그걸 정수값으로 인식해버리던데, 그걸 아직 해결하지 못하고 있네요. 제 예상대로면 그게 해결되면 accept...일지도.. float로 a배열을 선언해도 안되는건가..? 될텐데;;
3 1 1 2 1 3 1 만족.
3 1 1 1 2 1 3 만족.
2 1 1 -100 101 만족
3 1 1 2 2 101 102 만족