### 11550 - Demanding Dilemma

Posted:

**Mon Nov 03, 2008 4:05 am**pls give me some test cases.i m getting wa.

heres my code

heres my code

Code: Select all

```
```

The Online Judge board

https://uva.onlinejudge.org/board/

https://uva.onlinejudge.org/board/viewtopic.php?f=50&t=42449

Page **1** of **1**

Posted: **Mon Nov 03, 2008 4:05 am**

pls give me some test cases.i m getting wa.

heres my code

heres my code

Code: Select all

```
```

Posted: **Mon Nov 03, 2008 2:27 pm**

I WA too...-_-!

but I can't understand your code on:if(arr*[j]=='1'&& i!=j)count++;*

why do you check if i!=j? I think it doesn't need...

but I can't understand your code on:if(arr

why do you check if i!=j? I think it doesn't need...

Posted: **Mon Nov 03, 2008 2:54 pm**

try this case

Input:
My AC output:
hope this helps..

Input:

Code: Select all

```
1
3 2
1 1
1 0
0 1
```

Code: Select all

`Yes`

Posted: **Mon Nov 03, 2008 7:39 pm**

corrected but still **wa**

Code: Select all

```
void call(int n,int m){
int count=0,fc=0;
for(int j=0;j<m;j++){
count=0;
for(int i=0;i<n;i++){
if(arr[i][j]=='1')count++;
}
if(count==2)
fc++;
}
if(fc==m)
cout<<"Yes"<<endl;
else cout<<"No"<<endl;
return;
}
```

Posted: **Mon Nov 03, 2008 7:45 pm**

You must also check if there are no two identical edges defined by the incidence matrix. If there are, you should return "No".

Posted: **Tue Nov 04, 2008 11:49 am**

thanks got ac after a number of tries.

Posted: **Wed Nov 05, 2008 6:34 am**

can you say more detail?rij wrote:thanks got ac after a number of tries.

I still WA...

Posted: **Wed Nov 05, 2008 8:12 am**

The graph should be a simple indirected one.

Pay attention to the word 'simple'.

Pay attention to the word 'simple'.

Posted: **Thu Nov 06, 2008 6:23 am**

I still WA....I need help...

Code: Select all

```
void prepare()
{
scanf("%d%d",&n,&m);
for (int i=1;i<=n;i++)
for (int j=1;j<=n;j++)
flag[i][j]=false;
for (int i=1;i<=n;i++)
for (int j=1;j<=m;j++)
scanf("%d",&map[i][j]);
}
bool work()
{
for (int i=1;i<=m;i++)
{
int u=-1,v=-1;
for (int j=1;j<=n;j++)
if (map[j][i])
{
if (u==-1) u=j;else
if (v!=-1) return false;else v=j;
}
if (u*v<0) return false;
if (flag[u][v]) return false;
flag[u][v]=flag[v][u]=true;
}
return true;
}
```

Posted: **Thu Jan 14, 2010 6:21 pm**

To : zhouerjin

Change only one line & i hope that will make you AC.

change to ->
Because if u & v two are -1 then u*v>0

Change only one line & i hope that will make you AC.

Code: Select all

```
if (u*v<0) return false;
```

Code: Select all

```
if (u==-1||v==-1) return false;
```

Posted: **Fri Aug 17, 2012 4:31 am**

This is a very simple problem.

Just check if every column(edge) has exactly two vertex and no two columns(edges) has same vertexes(Because multiple edges are not allowed)

You can try this Cases

Input :
Output :
In 1st case first column(edge) has three vertex which is not possible

In 2nd case 1st and 2nd edges have the same vertexes (1,2) and (1,2) so again No

In 3rd case same thing occurs like 2nd case.Here 2nd and 3rd edges have the same vertexes (2,3) and (2,3)

Just check if every column(edge) has exactly two vertex and no two columns(edges) has same vertexes(Because multiple edges are not allowed)

You can try this Cases

Input :

Code: Select all

```
3
3 3
1 1 0
1 1 1
1 0 0
2 2
1 1
1 1
3 3
1 0 0
1 1 1
0 1 1
```

Code: Select all

```
No
No
No
```

In 2nd case 1st and 2nd edges have the same vertexes (1,2) and (1,2) so again No

In 3rd case same thing occurs like 2nd case.Here 2nd and 3rd edges have the same vertexes (2,3) and (2,3)

Posted: **Tue Dec 11, 2012 9:26 am**

inputoutput No

Code: Select all

```
1
4 3
1 1 1
1 0 0
0 1 0
0 0 0
```

Posted: **Thu Apr 16, 2015 1:01 pm**