We know in the execution flow of SQL query , having clause is imposed on the output of group by clause and having clause is hence used to select the groups on the basis of some aggregate function like some() , sum() , avg() on some other attributes .
So if we are using other attributes it is necessary to use it with some aggregate functions as mentioned above..So according to the query the grouping of records is done on the basis of values of A and then using having clause , we select those groups which have corresponding no. of values of B for a given A is more than 1..
Hence it is clear that if we have non empty output , then we will have only those A values for which more than 1 B values exist..
Also we know by basic definition of Functional Dependency ,
A --> B holds only if there is a unique value of B for a given A which is not the case here.Hence the FD A --> B does not hold here provided the result is non empty..
Hence A) should be the correct option.
PS: If the result set is empty, then we cannot say FD is satisfied. Because there can be another instance of $R$ where it might be violated.