Правильный ответ: a) Have you been swimming.
Объяснение: В данном контексте необходимо использовать Present Perfect Continuous (Have you been swimming?), так как вопрос подразумевает, что действие (плавание) происходило недавно и его результат виден сейчас (мокрые волосы).
Вариант b) Have you swum? грамматически верен, но больше подходит для вопроса о том, плавал ли человек когда-либо в своей жизни, а не о текущей ситуации.