not sure how you’re actually displaying your posts whether it’s a custom query and which page your doing your grid, for example a category page. Here’s a little snippet that may help you.
//get current category page
$category = get_the_category();
//get current category page ID
$category_id = $category->cat_ID;
//set arguments for your desired posts output
$args = array(
'numberposts' => 999,
'offset' => 0,
'category' => $category_id,
'order' => 'DESC',
'post_type' => 'post', //if your using a custom post type enter it here
'post_status' => 'publish' );
$all_posts = get_posts($args);
//get amount of posts
$post_amount = count($all_posts);
//now we know the amount of posts you have in this category, we can do a conditional.
if($post_amount == 1){
//show all your content.
}
I haven’t tested this but I’m pretty sure the logic is correct.